决策树c4.5算法是在决策树ID3上面演变而来。
在ID3中:
信息增益
按属性A划分数据集S的信息增益Gain(S,A)为样本集S的熵减去按属性A划分S后的样本子集的熵,即
在此基础上,C4.5计算如下:
分裂信息
利用引入属性的分裂信息来调节信息增益
信息增益率
信息增益率将分裂信息作为分母,属性取值数目越大,分裂信息值越大,从而部分抵消了属性取值数目所带来的影响。
相比ID3直接使用信息熵的增益选取最佳属性,避免因某属性有较多分类取值因而有较大的信息熵,从而更容易被选中作为划分属性的情况。
公式略多,看得眼花缭乱,其实就是为了得到信息增益率。
看一个计算例子:
数据集如下图所示,共有14个样本,每个样本有4个属性,分别表示天气,温度,湿度,是否刮风。最后一列代表分类结果,可以理解为是否适合出去郊游(play)。
根节点选取outlook属性后就得到如下划分:
参考:http://blog.csdn.net/u010498696/article/details/46333911