决策树的相关知识点——信息熵,条件熵,量化度量指标

1.信息熵的意义及解算:代表样本所包含的信息量,用来描述数据的不确定性。

高信息熵:即变量是均匀分布的;低信息熵:变量分布不均,有的事件发生概率可能比较大。

举例1:


那么“专业”的信息熵:H(X) = -[p(数学)*log2(p(数学)) + p(IT)*log2(p(IT)) + p(英语)*log2(p(英语))]
               =-[0.5*log2(0.5) + 0.25*log2(0.25) + 0.25*log2(0.25)] = 1.5

同理“性别”的信息熵:H(Y) = 1

2.条件熵,即在某事件X发生的条件下,目标事件Y的信息熵,类似于条件概率,记做H(Y|X)。

目标事件的在条件事件基础上的信息熵再乘以条件事件的概率。

举例2:根据上例:


H(Y|X=数学) = p(数学) *H(Y|X=数学) = -0.5*(0.5*log2(0.5)+ 0.5*log2(0.5))=0.5

注意:上式中出现了两个H(Y|X=数学) ,其中第二个,Y的信息熵的计算,因为在X的条件下,Y事件中样本发生的概率已经发生了变化,因为Y的信息熵的计算已经不能以全体数据为基础,必须是在X为基础样本的条件下重新计算。

H(Y|X) = p(数学)*H(Y|X=数学) +p(英语)*H(Y|X=英语) + p(IT)*H(Y|X=IT)

H(X|Y)  = p(M)*H(X|Y=M)+ p(F)*H(X|Y=F)       

3.决策树的构建过程:

决策树的构造就是进行属性选择度量,确定各个特征属性之间的拓扑结构(树结构);构建决策树的关键步骤就是分裂属性,分裂属性是指在某个节点按照某一类特征属性的不同划分构建不同的分支,其目标就是让各个分裂子集尽可能的'纯'(让一个分裂子类中待分类的项尽可能的属于同一个类别)。

简单理解:对于整体的数据集而言,按照所有的特征属性进行划分操作,对所有划分操作的结果集的“纯度”进行比较,选择“纯度”越高的特征属性作为当前需要分割的数据集进行分割操作,持续迭代,直到得到最终结果。决策树是通过“纯度”来

选择分割特征属性点的。

4.决策树量化纯度:

那么怎样衡量决策树划分时的依据,即如何衡量数据的纯度,除了信息熵,还有基尼系数,错误率两个指标

三个指标的效果相差不大。一般用熵和gini比较多。

4.1信息增益:

当已经计算出各个属性的量化度量值,那么,如何具体选择先用哪个属性进行决策划分呢?此时用到了信息增益率。信息增益度由大到小进行排列划分决策树。即信息增益度最大的作为根节点,依次往下排。

为什么呢?信息增益代表根据该属性划分后,数据的纯度提升的效率。增益越大,代表该属性对数据划分的影响越大。


举例,还是上例:

经计算:H(Y|X) = 0.5, H(X|Y) = 1

Gain(X) = H(X) - H(X|Y) = 1.5-1= 0.5

Gain(Y) = H(Y) - H(Y|X) = 1-0.5 = 0.5

即两个指标的划分对数据纯度的影响没有差别。

5.决策树的停止条件:

决策树构建的过程是一个递归的过程,所以必须给定停止条件,否则过程将不会进行停止,一般情况可以设置以下停止条件:

  • 大于设置的决策树的最大深度
  • 小于设置的内部节点再划分所需最小样本数
  • 小于设置的叶节点最少样本数
  • 大于设置的最大叶节点数
  • 小于设置的节点划分不纯度

决策树的效果评估:

以上决策模型构建完成后,需要评估模型的效率。这里可以使用“准确率”,“召回率”,“精确率”等常规指标衡量。

也可以用决策树的损失函数进行衡量:


即,衡量最终所有叶子节点的加权信息熵/gini系数/错误率(哪个数据纯度指标都可以)的和,其中权重:叶子节点的样本数占总体样本的比率。损失函数数值越小,算法效果越好。

6.决策树构建算法:ID3,C4.5,CART

6.1 ID3:

使用信息熵信息增益进行构建、每次迭代选用信息增益最大的特征属性。

优点:构建速度快;实现简单;

缺点:

  • 新增数据时,不能插入,只能将数据整体重新计算
  • 是单变量决策树,每次划分时只能考虑一个属性,对于属性见的关系不会考虑
  • 抗噪性差,只适合小规模数据集,需要将数据放到内存中。

6.2 C4.5:

在ID3算法的基础上进行了优化。使用信息增益率来取代ID3算法中的信息增益,在树的构造过程中会进行剪枝操作进行优化;能够自动完成对连续属性的离散化处理。



优点:规则易于理解,准确率高,实现简单;

缺点:对数据集需要进行多次顺序扫描和排序(计算信息增益率),所以效率较低;同样只适合小规模数据集。

6.3 CART算法(分类回归树):

使用基尼系数作为数据纯度的量化指标,使用GINI增益作为分割属性选择的标准,选择GINI增益最大的作为当前数据集的分割属性。CART构建是二叉树。



6.4 三种算法的区别:

  • CART算法是三种算法中最常用的一种决策树构建算法。
  • 三种算法的区别仅仅只是对于当前树的评价标准不同而已,ID3使用信息增益、C4.5使用信息增益率、CART使用基尼系数。
  • CART算法构建的一定是二叉树,ID3和C4.5构建的不一定是二叉树。

猜你喜欢

转载自blog.csdn.net/qq_19461333/article/details/80565088