CART(Classification and Regression Trees)既分类回归树,既可以用于分类又可以用于回归。
CART分类问题
连续特征值处理
CART处理思想是与C4.5相同,既将连续特征值离散化。唯一不同的地方是CART采用基尼系数,而C4.5采用信息增益比。
特征a有连续值m个,从小到大排列。
m个数值就有m-1个切分点,每个切分点都可以把特征a切分成D1和D2两个子集
一次计算所有切分的基尼指数,选择最小的作为最终的特征划分。
离散特征
如果特征值是离散的
1.CART是二叉树
1)C4.5会划分出多叉树
2)CART则是无论离散特征有几个分类,都会划分成二叉树。
假设特征a有m个离散值。分类标准是:每一次将其中一个特征分为一类,其他非该特征分为另一类。依照这个标准遍历所有分类情况,计算每个分类下的基尼指数,最后选择最小的作为最终的特征划分。
2.CART与ID3和C4.5在处理离散特征不同的是:CART某特征作为节点后,该特征剩余的值还可以参与子节点的产生过程。
CART回归问题
回归树在选择特征的度量标准和决策树建立后预测的方式与分类树都不同。
预测方式
一个回归树对应着输入特征空间的一个划分,以及在划分单元上的输出值。假设数据集已经被划分为:R1,R2,…,Rm共m个子集,回归树要求每个子集Rm都对应一个固定的输出值Cm。
Cm值其实就是每个子集中所有样本的目标变量y的平均值。
所有分支节点都是如此,叶子节点也不例外。既将叶子节点中样本的y均值作为回归的预测值。
选择特征的度量标准
CART回归树对特征类型的处理与分类树一样,连续值与离散值分开对待,并只能生成二叉树。但是CART回归树对于特征的度量标准则完全不同。
分类树的特征选择标准使用基尼指数,而回归树则使用的RSS残差平方和,其实和线性回归是一致的。
y
i
y_i
yi:样本目标变量的真实值
R
1
R
2
R_1 R_2
R1R2:被划分的两个子集,回归树是二叉树,只有两个子集
c
1
c
2
c_1 c_2
c1c2:
R
1
R
2
R_1 R_2
R1R2子集的样本均值
j:当前的样本特征
s:划分点
上面公式的含义是:计算所有的特征以及相应所有七分店下的残差平方和,找到一组(特征j,切分点s)以满足:分别最小化左子树和右子树的残差平方和,并且在此基础上再次最小化二者之和。
CART减枝
CART回归树和CART分类树的剪枝策略除了在度量损失的时候一个使用均方差,一个使用基尼系数,CART采用的办法是后剪枝法,即先生成决策树,然后产生所有可能的剪枝后的CART树,然后使用交叉验证来检验各种剪枝的效果,选择泛化能力最好的剪枝策略。
Gini系数(Gini Coefficient)
G
=
1
−
∑
i
=
1
k
p
i
2
G = 1-\sum_{i=1}^kp_i^2
G=1−∑i=1kpi2
k
:
数
据
集
中
样
本
的
种
类
量
k:数据集中样本的种类量
k:数据集中样本的种类量
p
i
:
第
i
类
样
本
的
数
量
咱
总
样
本
数
量
的
比
例
p_i:第i类样本的数量咱总样本数量的比例
pi:第i类样本的数量咱总样本数量的比例
基尼系数的性质与信息熵一样:度量特征的纯度,越大纯度越低
参考:
https://www.sohu.com/a/290362448_654419
http://www.mamicode.com/info-detail-2412736.html
https://www.jianshu.com/p/a786c55597d2