CART算法
- CART Classification and Regression Tree(CART) 是决策树的一种用基尼指数来选择属性 (分类) ,或用均方差来选择属性 (回归)顾名思义,CART算法既可以用于创建分类树,也可以用于创建回归树,两者在构建的过程中稍有差异。
- 如果目标变量是离散的,称为分类树。
- 如果目标变量是连续的,称为回归树(不过多介绍)。
连续特征处理
- 具体思路: 有m个样本,从小到大排列,取相邻两样本值的平均数做划分点,一共取m - 1个其中第m个划分点分别计算以这m-1个点作为二元分类点时的基尼系数。选择基尼指数最小的点为该连续特征的二元离散分类点第m -1次划分。比如取到的基尼指数最小的点为at,则小于a的值为类别1,大于a的值为类别2,这样就做到了连续特征的离散化,接着采用基尼指数的大小来度量特征的各个划分点。
离散特征处理
- 具体思路: 假设特征a有m个离散值.分类标准是: 每一次将其中一个特征分为一类,其他非该特征分为另一类依照这个标准遍历所有分类情况,计算每个分类下的基尼指数,最后选择最小的作为最终的特征划分。
基尼系数
样本集合 D D D的基尼指数(CART)
Gini ( D ) = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 \operatorname{Gini}(D)=1-\sum_{k=1}^{K}\left(\frac{\left|C_{k}\right|}{|D|}\right)^{2} Gini(D)=1−k=1∑K(∣D∣∣Ck∣)2
特征 A A A条件下集合 D D D的基尼指数:
Gini ( D , A ) = ∣ D 1 ∣ ∣ D ∣ Gini ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ Gini ( D 2 ) \operatorname{Gini}(D, A)=\frac{\left|D_{1}\right|}{|D|} \operatorname{Gini}\left(D_{1}\right)+\frac{\left|D_{2}\right|}{|D|} \operatorname{Gini}\left(D_{2}\right) Gini(D,A)=∣D∣∣D1∣Gini(D1)+∣D∣∣D2∣Gini(D2)
CART剪枝
具体流程
- (1)计算每一个结点的条件熵
- (2)递归的从叶子节点开始往上遍历减掉叶子节点,然后判断损失函数的值是否减少,如果减少,则将父节点作为新的叶子节点
- (3)重复(2),直到完全不能剪枝