一文搞懂决策树-CART(3)

在决策树算法原理中(ID3,C4.5)中(后期补上),提到了二者模型的不足。比如模型是用较为复杂的熵来度量,使用了相对较为复杂的多叉树,只能处理分类不能处理回归。对这些问CART(Classification And Regression Tree)做了改进,可以处理分类,也可以处理回归。

1、CART分类树算法的最优特征生成方法。

ID3中使用了信息增益选择特征,增益大优先选择。C4.5中,采用信息增益比选择特征,减少因特征值多导致信息增益大的问题。CART分类树算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,不纯度越低,特征越好。这和信息增益(比)相反。

假设一个数据集中有K个特征,第K个类别的概率为Pk,则该数据集的基尼系数为:
在这里插入图片描述
如果是二分类问题,第一个样本数据概率为p,概率分布的基尼系数表达式为:

在这里插入图片描述
数据集 D ,输出有 K个类别,输出为第 K个类别的样本集合为 Ck ,则数据集D 的基尼系数为:
在这里插入图片描述
数据集对于某个特征的的基尼系数,根据特征 A的某个取值 a ,将样本集分为两个集合 D1,D2 ,则数据集 D 在特征 A条件下的基尼系数为:
在这里插入图片描述
其中, C1k为数据集 D1 中,输出为类别 Ck的样本集合。

连续特征的处理方式

连续特征离散化。将数据集的特征的取值,从小到大排列 ,划分出 n个取值点 。将小于取值点的样本划分到集合 A1,大于取值点 的样本划分到集合A2, 计算其作为二元离散值时的基尼系数,遍历所有样本的所有分割点,选择基尼系数最小的作为分裂依据,其余的分割点会在接下来的计算中继续参与选择。

处理离散值

CART回归树会枚举离散特征的所有二元组合,选择基尼系数最小的进行分裂,剩余组合会在接下来的分裂中继续计算。例如离散特征 A有三个取值 [A1,A2,A3] ,可以将其二元分类为三种情况 A1,(A2,A3) ;(A1,A2),A3,(A1,A3).A2,如果选择第一种情况进行分裂,那么 (A2,A3) 会继续参与后续分裂。

CART 分类树构建流程

输入:训练集 D ,基尼系数阈值,样本个数阈值

输出:决策树T。

(1)计算当前节点的样本数,如果样本数小于个数阈值,停止递归。

(2)计算当前数据集的基尼系数,如果基尼系数小于阈值,停止递归。

(3)遍历当前节点的所有样本的所有特征的所有取值,计算每一个分割点的基尼系数,选择基尼系数最小的进行二分裂。

(4)重复上述步骤,直到达到要求。

你可能感兴趣的:(机器学习模型,机器学习,数据挖掘,算法,数据分析,big,data)