在ID3算法中我们使用了信息增益来选择特征,信息增益大的优先选择。在C4.5算法中,采用了信息增益比来选择特征,以减少信息增益容易选择特征值多的特征的问题。但是无论是ID3还是C4.5,都是基于信息论的熵模型的,这里面会涉及大量的对数运算。为了简化模型同时也不至于完全丢失熵模型, CART分类树算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,则不纯度越低,特征越好。这和信息增益(比)是相反的。
CART既可以适应分类任务, 又可以适应回归任务, 不同的任务, 特征的选择方式不一样
分类任务
假设有个类,第个类的概率为, 则基尼系数的表达式为:
对于二分类问题, 则公式可以简化为: , p代表属于第一类样本的概率
对于给定的样本集合, 个类, 第个类别的数量为, 则样本的基尼系数为:
显然, 对于集合,假设属性的某个值将数据集D切分为,则在特征A的条件下, D的基尼系数表达式为:
相比于复杂的对数运算, 基尼系数的运算简单很多, 对于连续值得处理, CART和C4.5是相同的:连续的二分离散特征
回归任务
在CART分类树中, 其与ID3,C4.5并没有太大的差别, 而回归则不一样:
- 预测的方式不同
- 连续值得处理方式不同
回归树模型采用均方差度量: 对于任意划分的特征A, 和一个任意划分的点s(该点s其实是特征A里面的某个值), 将数据集D划分为, 这个点s要使各自集合的均方差的最小,公式为:
其中, 为样本输出均值, 其实就是对应数据集的label的均值
那么最终这棵树的方程为:
其中,为对应区域的均值, 类似于这样
CART树的主要开销就在为每个特征寻找最优切分点上