- C4.5是机器学习算法中的另一个分类决策树算法,它是基于ID3算法进行改进后的一种重要算法,相比于ID3算法,改进有如下几个要点:
- 用信息增益率来选择属性。ID3选择属性用的是子树的信息增益,这里可以用很多方法来定义信息,ID3使用的是熵(entropy, 熵是一种不纯度度量准则),也就是熵的变化值,而C4.5用的是信息增益率。
- 在决策树构造过程中进行剪枝,因为某些具有很少元素的结点可能会使构造的决策树过适应(Overfitting),如果不考虑这些结点可能会更好。
- 对非离散数据也能处理。
- 能够对不完整数据进行处理。?
举个例子:
上面的训练集有4个属性,即属性集合A={OUTLOOK, TEMPERATURE, HUMIDITY, WINDY};而类标签有2个,即类标签集合C={Yes, No},分别表示适合户外运动和不适合户外运动,其实是一个二分类问题。
首先计算没有分类时的信息熵:
为什么C4.5是ID3的改进?
在最极端的情况下,特别是类别的成员是连续型变量的情况下,
例如:身高,170,171,172,...,
当每个样本都作为一个单独的个体时,那么按照信息增益的计算公式,每个样本都只有一种结果,yes or no,所以它的信息熵=0,有n个样本的话,那么划分之后样本集的信息熵的值为:0
而在C4.5中,分裂信息的存在使得0熵的情况得到了排除
如何计算连续变量的C4.5?