主要描述里ID3和C4.5的区别和改进,C4.5的优缺点,以及信息增益与信息增益比的计算方法
区别
ID3使用信息增益作为特征选择的度量
C4.5使用信息增益比作为特征选择的度量
信息增益
g(D,A)=H(D)−H(D|A)g(D,A)=H(D)−H(D|A)
H(D)H(D)是数据集D的熵,计算公式H(D)=−∑Kk=1|Ck|Nlog|Ck|NH(D)=−∑k=1K|Ck|Nlog|Ck|N
CkCk是在数据集D中出现k类的数量,N是样本的数量,类别的总数
H(D|A)H(D|A)是特征A对与数据集D的条件熵,其意义是:在子集DiDi中Y的分布。
计算方法是 H(D|A)=∑ni=1NiN∑Kk=1−(NikNilogNikNi)H(D|A)=∑i=1nNiN∑k=1K−(NikNilogNikNi)
设特征A是离散的,且有n个不同的取值:{a1,a2,...,ana1,a2,...,an},根据特征A的取值将D划分为n个子集:D1,D2,...,DnD1,D2,...,Dn,NiNi为对应的DiDi中的样本数
信息增益
综合之后信息增益的公式
g(D,A)=H(D)−H(D|A)=H(D)−∑ni=1NiN∑Kk=1−(NikNilogNikNi)g(D,A)=H(D)−H(D|A)=H(D)−∑i=1nNiN∑k=1K−(NikNilogNikNi)
信息增益比
特征A对训练集D的信息增益比gR(D,A)gR(D,A)定义为
gR(D,A)=g(D,A)HA(D)gR(D,A)=g(D,A)HA(D)
HA(D)=−∑ni=1NiNlogNiNHA(D)=−∑i=1nNiNlogNiN
HA(D)HA(D)刻画了特征A对训练集D的分辨能力
改进
C4.5继承了ID3的有点,并在以下几个方面对ID3算法进行了改进:
- 用信息增益比来选择属性,克服了用信息增益选择属性是偏向选择去之多的属性的不足
- 在数的构造过程中进行剪枝
- 能够对连续的属性进行离散化处理
- 能够对不完整的数据进行处理
优点
C4.5的优点
- 产生分类的规则易于理解
- 准确率较高
C4.5的缺点
- 在构造树的过程中需要多次对数据集进行扫描和排序,因而导致算法的低效
- 只适用于能够驻留在内存的数据集,当数据集大的无法在内存容纳是程序无法运行
剪枝
待补充