目录
- 信息论基础(香农熵 经验熵 条件熵 信息增益 基尼不纯度)
- 决策树的不同分类算法(ID3算法、C4.5、CART分类树)的原理及应用场景
- 回归树原理
- 决策树防止过拟合手段
- 模型评估
- sklearn参数详解,Python绘制决策树
信息论基础(熵 联合熵 条件熵 信息增益 基尼不纯度)
决策树是基于树机构来进行决策的,是一类常见的机器学习方法。一般的,一棵树包括一个根节点,若干个内部节点和若干个叶节点;叶节点对应决策结果,其他每个节点则对应于一个属性测试;每个节点包含的样本集合根据属性测试的结果被划分到子节点中;根节点包含样本全集。从根节点到每个叶节点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一棵泛化能力强,即处理未见示例能力强的决策树。其基本流程遵循简单而直观的“分而治之”(divided-and-conquer)策略。
(1)香农熵
集合信息的度量方式为熵或者香农熵(entropy),名字来源于信息论之父克劳德香农。
通俗的说,熵就是表示信息的混乱程度(不可预见程度),一般的,世界上的一切事物会朝着熵不断变大的方向发展。熵定义为信息的期望值,如果一个分类有x1,x2,,,xi,,xn,则符号xi的信息定义为:
其中p(xi)是选择该分类的概率。
那么,熵的定义为:
其实就是所有分类的信息量的求和,n为分类的个数,熵越大,信息量越大,随机变量的不确定性愈大。
(2)经验熵
当熵中的概率由数据估计(特别是最大似然估计)得到时,所对应的熵称为经验熵(empirical entropy)。什么叫由数据估计?比如有10个数据,一共有两个类别,A类和B类。其中有7个数据属于A类,则该A类的概率即为十分之七。其中有3个数据属于B类,则该B类的概率即为十分之三。浅显的解释就是,这概率是我们根据数据数出来的。我们定义贷款申请样本数据表中的数据为训练数据集D,则训练数据集D的经验熵为H(D),|D|表示其样本容量,及样本个数。设有K个类Ck,k = 1,2,3,···,K,|Ck|为属于类Ck的样本个数,这经验熵公式可以写为:
根据此公式计算经验熵H(D),分析贷款申请样本数据表中的数据。最终分类结果只有两类,即放贷和不放贷。根据表中的数据统计可知,在15个数据中,9个数据的结果为放贷,6个数据的结果为不放贷。所以数据集D的经验熵H(D)为:
经过计算,数据集D的经验熵H(D)的值为0.971.
(3)条件熵
条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性,随机变量x给定的条件下随机变量Y的条件熵(conditional entropy)H(Y|X),定义X给定条件下Y的条件概率分布的熵对X的数学期望:
这里,
(4)信息增益
信息增益是针对特征而言的,所以特征A对训练数据集D的信息增益为g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即:
一般的,熵H(D)和条件熵H(D|A)之差称为互信息(mutual information),决策树学习中的信息增益等价于训练集中类与特征的互信息。
设特征A有n个不同的取值{a1,a2,···,an},根据特征A的取值将D划分为n个子集D1,D2,···,Dn,|Di|为Di的样本个数。记子集Di中属于Ck的样本的集合为Dik,即Dik = Di ∩ Ck,|Dik|为Dik的样本个数。于是经验条件熵的公式可以写为:
参考:https://blog.youkuaiyun.com/c406495762/article/details/75663451