任务简介
如图所示,数据集的X是一系列的属性值,Y是1或者-1,用决策树算法训练这样的分类模型,对于测试集这个分类模型能在Accuracy(准确率)这个指标上能尽可能的高
算法原理
通过选择属性对数据进行划分,使得划分之后的数据的不确定性得到下降,其中的“不确定性”以信息增益或基尼指数,或是有所惩罚的信息增益比来衡量。 经过多层的划分,使得数据的不确定性降到最低,从而使得其在训练集上的正确率达到最高,这就是最原始的决策树。
-----------------------------------------------例子------------------------------------------------
假设有这么一个人群,其年龄及患病情况如下:
单纯看患病情况的话其不确定性很大,通俗的讲就是随便从中选出一个人而不告诉你任何其他信息,要猜其是否患病,猜中的可能性很小(P = 1/2)。
现在如果使用年龄这个属性,将其划分为两类,见下图

其中,选择属性的算法有以下三种,分别介绍一下原理:
1) ID3
算法度量标准是原始的熵与条件熵之差。 也就是原来数据的不确定性与划分完之后的数据不确定性之间的差值
g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)−H(D∣A)
熵是用于表示随机变量不确定性的度量。 例如下图表示当随机变量只取两个值(例如1,0)的时候,熵随着p(p = P(x=1))的变化情况。
H ( x ) = − ∑ i = 1 n p i l o g 2 ( p i ) H(x)= -\sum_{i=1}^n p_ilog_2(p_i) H(x)=−i=1∑npilog2