高信息熵:即变量是均匀分布的;低信息熵:变量分布不均,有的事件发生概率可能比较大。
举例1:
同理“性别”的信息熵:H(Y) = 1
举例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)
决策树的构造就是进行属性选择度量,确定各个特征属性之间的拓扑结构(树结构);构建决策树的关键步骤就是分裂属性,分裂属性是指在某个节点按照某一类特征属性的不同划分构建不同的分支,其目标就是让各个分裂子集尽可能的'纯'(让一个分裂子类中待分类的项尽可能的属于同一个类别)。
简单理解:对于整体的数据集而言,按照所有的特征属性进行划分操作,对所有划分操作的结果集的“纯度”进行比较,选择“纯度”越高的特征属性作为当前需要分割的数据集进行分割操作,持续迭代,直到得到最终结果。决策树是通过“纯度”来
选择分割特征属性点的。
那么怎样衡量决策树划分时的依据,即如何衡量数据的纯度,除了信息熵,还有基尼系数,错误率两个指标
为什么呢?信息增益代表根据该属性划分后,数据的纯度提升的效率。增益越大,代表该属性对数据划分的影响越大。
举例,还是上例:
Gain(X) = H(X) - H(X|Y) = 1.5-1= 0.5
Gain(Y) = H(Y) - H(Y|X) = 1-0.5 = 0.5
即两个指标的划分对数据纯度的影响没有差别。
决策树构建的过程是一个递归的过程,所以必须给定停止条件,否则过程将不会进行停止,一般情况可以设置以下停止条件:
以上决策模型构建完成后,需要评估模型的效率。这里可以使用“准确率”,“召回率”,“精确率”等常规指标衡量。
也可以用决策树的损失函数进行衡量:
即,衡量最终所有叶子节点的加权信息熵/gini系数/错误率(哪个数据纯度指标都可以)的和,其中权重:叶子节点的样本数占总体样本的比率。损失函数数值越小,算法效果越好。
优点:构建速度快;实现简单;
缺点:
优点:规则易于理解,准确率高,实现简单;
缺点:对数据集需要进行多次顺序扫描和排序(计算信息增益率),所以效率较低;同样只适合小规模数据集。