0. 绪论
昨天完成了决策树ID3算法的编码,心情真的很激动呀,虽然是针对具体数据而生的,但是还是很自豪的说。在这个过程中对ID3算法也加深了印象。
决策树学习主要是特征选择(实则是特征属性的排优)和基于ID3算法决策树的生成,对于决策树的剪枝本文并不讨论。
1. 示例数据
2. 预备知识
其中X是随机变量,在上面示例数据中x1=“是”,x2=“否”,即数据集D的分类;n为数据集类别的数目;Pi为某个类别在数据集D总类别中的频率。
条件熵H(Y|X):在随机变量X的条件下Y的不确定性。它的定义公式如下所示:
其中A表示某一个特征,例如可以为“贷款信誉”;n为贷款信誉特征的分类,此时n=3,表示数据集D被特征A分成了3个子数据集D1、D2、D3;K为分类的类别数目2;Di表示第i个子数据集的总数目;Dik表示第i个子数据集并且类别为k的数量。
尼玛,你要是问我这些算式为啥表示熵那我也母鸡呀,但是可以根据熵的定义式画一个坐标图表示一下,二分支时真的是p=0.5时H的值最大,也就是概率都是一半一半,聪明如计算机也不知道要选哪一个分支了。。。
3. 特征提取
下面重点来了,信息增益: G(D,A) = H(D) - H(D|A)
此将作为我们选取分支的最重要指标。在直观上理解,G(D,A)表示由于特征属性A而使得对数据集D分类的不确定性减少的程度。所以啊,这个值是越大越好的。依次递归(因为未确定类别的数据集是在逐渐减少的)计算,可以对数据集各个属性来排优。
4. ID3算法的实现(建立ID3决策树)
5. 总结
