1.决策树C4.5算法

一、概述

    C4.5是一系列用在机器学习和数据挖掘的分类问题中的算法。它的目标是监督学习:给定一个数据集,其中的每一个元组都能用一组属性值来描述,每一个元组属于一个互斥的类别中的某一类。C4.5的目标是通过学习,找到一个从属性值到类别的映射关系,并且这个映射能用于对新的类别未知的实体进行分类。

    C4.5由J.Ross Quinlan在ID3的基础上提出的。ID3算法用来构造决策树。决策树是一种类似流程图的树结构,其中每个内部节点(非树叶节点)表示在一个属性上的测试,每个分枝代表一个测试输出,而每个树叶节点存放一个类标号。一旦建立好了决策树,对于一个未给定类标号的元组,跟踪一条有根节点到叶节点的路径,该叶节点就存放着该元组的预测。

    决策树的优势在于不需要任何领域知识或参数设置,适合于探测性的知识发现。从ID3算法中衍生出了C4.5CART两种算法。

二、改进表现

    (1)ID3算法在选择根节点和各内部节点中的分支属性时,采用信息增益作为评价标准。信息增益的缺点是倾向于选择取值较多的属性,而这类属性并不一定是最优的属性。在这里插入图片描述    (2)在决策树构造过程中进行剪枝,因为某些具有很少元素的结点可能会使构造的决策树过适应(Overfitting),如果不考虑这些结点可能会更好;

    (3)能够处理离散型连续型的属性类型,即将连续型的属性进行离散化处理;

    (4)能够处理具有缺失属性值的训练数据。

三、优缺点

    优点:产生的分类规则易于理解,准确率较高。

    缺点:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

    过拟合的原因:在于学习时过多的考虑如何提高对训练数据的正确分类,从而构建出过于复杂的决策树。

四、决策树

    决策树是一种用于分类的树结构。如图所示,它由结点(node)和有向边(directed edge)组成,结点包括内部结点(internal node)和叶结点(leaf node),内部结点表示一个特征或属性,叶结点表示一个类。
在这里插入图片描述

    决策树学习通常包括3个步骤:特征选择决策树的生成决策树的修剪

    决策树如何进行分类呢?从根结点开始,根据待分类数据的某一特征值对其进行划分,分配到相应子结点,因此,每一个子结点都对应了该特征的一个取值。像这样递归进行,直到到达叶结点。

1.特征选择

    特征选择在于选取对训练数据具有良好分类能力的特征,这样可以提高决策树的学习效率。通常特征选择的准则是信息增益或信息增益比。

(1)熵

    在信息论和概率统计中,熵是表示随机变量不确定性的度量。设X是一个取有限个值得离散随机变量,其概率分布为:

P ( X = x i ) = p i , i = 1 , 2 , 3 , . . . , n P(X=x_i) =p_i,i=1,2,3,...,n P(X=xi)=pi,i=1,2,3,...,n

    则随机变量X的熵定义为:

H ( X ) = − ∑ i = 1 n p i l o g p i H(X)= -\displaystyle\sum_{i=1}^{n} p_ilogp_i H(X)=i=1npilogpi

    熵越大,随机变量的不确定性就越大。

(2)条件熵

    设有随机变量(X,Y)其联合概率分布为:

P ( X = x i , Y = y i ) = p i j , i = 1 , 2 , 3 , . . . , n , j = 1 , 2 , 3 , . . . , n P(X=x_i,Y=y_i) =p_{ij},i=1,2,3,...,n,j=1,2,3,...,n P(X=xi,Y=yi)=pij,i=1,2,3,...,n,j=1,2,3,...,n

     条件熵H(Y∣X) 表示在已知随机变量X的条件下随机变量Y 的不确定性,定义为X 给定条件下Y 的条件概率分布的熵对X 的数学期望:
H ( Y ∣ X ) = ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)= \displaystyle\sum_{i=1}^{n} p_iH(Y|X=x_i) H(YX)=i=1npiH(YX=xi)
p i = P ( X = x i ) , i = 1 , 2 , 3 , . . . , n p_i=P(X=x_i),i=1,2,3,...,n pi=P(X=xi),i=1,2,3,...,n

(3)经验熵和经验条件熵

    当熵和条件熵中的概率由数据估计(特别是极大似然估计)得到时,对应的熵与条件熵分别称为经验熵和经验条件熵。

(4)信息增益

    信息增益表示得知特征X 的信息后特征Y 的信息不确定性减少的程度,反应了特征X对于其他特征不确定性的影响程度。

    信息增益:特征A对训练数据集D的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵 H ( D ∣ A ) H(D|A) H(DA)之差,即:

g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)= H(D)-H(D|A) g(D,A)=H(D)H(DA)

    根据信息增益准则的特征选择方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

    设训练数据集为D,|D|表示其样本容量,即样本个数。设有K个类 C k C_k Ck k = 1 , 2 , … , K k=1,2,…,K k1,2,,K ∣ C k ∣ |C_k| Ck为属于类 C k C_k Ck的样本个数, ∑ i = 1 n ∣ C k ∣ = ∣ D ∣ \displaystyle\sum_{i=1}^{n} |C_k|=|D| i=1nCk=D。设特征A有n个不同的取值 a 1 , a 2 , … , a n {a_1,a_2, …,a_n} a1,a2,,an,根据特征A的取值将D划分为n个子集 D 1 , D 2 , … , D n D_1,D_2,…,D_n D1,D2,,Dn ∣ D i ∣ |D_i| Di为Di的样本个数, ∑ i = 1 n ∣ D i ∣ = ∣ D ∣ \displaystyle\sum_{i=1}^{n} |D_i|=|D| i=1nDi=D

ID3信息增益算法:

输入:训练数据集D和特征A;
输出:特征A对训练数据集D的信息增益 g ( D ∣ A ) g(D|A) g(DA);

(1)计算数据集D的经验熵H(D)

H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g 2 ∣ C k ∣ ∣ D ∣ H(D)= -\displaystyle\sum_{k=1}^{K} \frac{|C_k|}{|D|}log_2\frac{|C_k|}{|D|} H(D)=k=1KDCklog2DCk
    
(2)计算特征A对数据集D的经验条件熵H(D|A)

H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D i ∣ l o g 2 ∣ D i k ∣ ∣ D i ∣ H(D|A)=\displaystyle\sum_{i=1}^{n} \frac{|D_i|}{|D|}H(D_i)= -\displaystyle\sum_{i=1}^{n} \frac{|D_i|}{|D|}\displaystyle\sum_{k=1}^{K} \frac{|D_{ik}|}{|D_i|}log_2 \frac{|D_{ik}|}{|D_i|} H(DA)=

  • 24
    点赞
  • 176
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值