CART分类树算法
CART分类树算法解读
输入:数据集 D,特征集 A,停止条件阈值ϵ\epsilonϵ
输出:CART分类决策树
步骤:
-
从根节点出发,进行操作,构建操作二叉树
-
计算现有特征下对数据集 基尼指数,选择最优特征。
——在特征Ag下,对其可能取的每个值g,根据样本点对Ag=g的测试为“是”我“否”,
将D分制成D1和D2两部分,计算Ag=g时的基尼指数。
——选择基尼指数最小的那个值作为该特征下的最优切分点。
——计算每个特征下的最优切分点,并比较在最优切分下的每个特征的基尼指数, 选择基尼指数最小的那个特征,即最优特征。 -
根据最优特征和最优切分点,生成两个子节点,并将数据集分配到对应的子节点中
按照最优切分点来分成二叉树
-
分别对两个子节点继续递归调用上面的步骤,直到满足条件,即生成CART分类决策树。
这里条件一般是阈值 ,当基尼指数小于这个阈值时,
样本基本属于同一类,或者就是没有更多的特征了,则CART分类决策树的生成
CART分类树真题讲解**
训练集D ,「特征集」分别是 年龄A1A_1A1 , 是否有工作A2A_2A2 , 是否有自己的房子 A3A_3A3, 信贷情况A4A_4A4。
类别为:Y1Y_1Y1=是,Y2=否Y_2=否Y2=否
用基尼指数的最小化来选出最优特征」
对于特征A条件下,样本集D的基尼指数为:
Gini(D,A)=∣D1∣∣D∣Gini(D1)+∣D2∣∣D∣Gini(D2) \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)
第一种 特征:年龄
三个特征值: 青年A11A_{11}A11 、中年 A12A_{12}A12和老年A13A_{13}A13
CART算法是二叉树,所以数据集分为两类,有以下几种情况
-
以青年和非青年分类
Gini(D1)=2×25×35=1225 \operatorname{Gini}\left(D_{1}\right)=2 \times \frac{2}{5} \times \frac{3}{5}=\frac{12}{25} Gini(D1)=2×52×53=2512
权重W1=515W_1=\frac{5}{15}W1=155
Gini(D1)=2×310×710=42100 \operatorname{Gini}\left(D_{1}\right)=2 \times \frac{3}{10} \times \frac{7}{10}=\frac{42}{100} Gini(D1)=2×103×107=10042
权重W2=1015W_2=\frac{10}{15}W2=1510
Gini(D,A)=∣D1∣∣D∣Gini(D1)+∣D2∣∣D∣Gini(D2) \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)Gini(D,A11)=515×1225+1015×42100=0.44 \operatorname{Gini}\left(D, A_{11}\right)=\frac{5}{15} \times \frac{12}{25}+\frac{10}{15} \times \frac{42}{100}=0.44 Gini(D,A11)=155×2512+1510×10042=0.44
-
以中年和非中年分类
Gini(D1)=2×25×35=1225 \operatorname{Gini}\left(D_{1}\right)=2 \times \frac{2}{5} \times \frac{3}{5}=\frac{12}{25} Gini(D1)=2×52×53=2512
权重D1=515D_1=\frac{5}{15}D1