CART决策树
使用基尼指数选取用来划分数据集的特征
使用基尼值度量数据集的纯度
CART算法流程:
简单版:
1.计算每个特征的基尼指数
2.选择基尼指数最小的特征,根据其特征值对数据划分
3.去除上步被选择的特征,在每个分支数据集中,重复1,2,3直到数据集不能或不用再次划分
详细版:
1.计算整个数据集的基尼值Gini
2.选取最好的数据集划分方式(这里指选取基尼指数最小的特征,亦为去除该特征后数据集基尼指数最小的特征)
a.计算除去已经被使用的特征和正在被计算的特征的数据集在该特征值下的基尼值Gini(Dv)(v为当前特征取值为v的样本集)
b.将各个特征下所有特征值计算的基尼值进行按比例(该值样本数量比总样本数量)加和,得到该特征值的基尼值
c.选择基尼指数最小的特征作为划分特征
3.根据选取的特征,根据其取值对数据集进行划分,构建分支
4.去除已使用的特征,在每个数据分支中重复步骤2,3,4直到(满足下列条件之一)
a.每个分支中所有数据的类别都相同
b.所有特征都已被使用(都已经用来划分了数据集(此情况下通常使用投票的方式选择数据类型,即选择类别的数量多的类型)
5.CART决策树构建完毕
基尼值计算:
pk:k类别数据集占总数据集的比例
相当于从数据集中随机抽取两个样本,其类别不一致的概率。所有能反应数据集的纯度,基尼值越小纯度越高。
特征a的基尼指数计算:
D:为训练集
Dv:为特征值为v的样本的集合