CART算法实例解析

来源:互联网 发布:cad排料软件 编辑:程序博客网 时间:2024/06/05 15:17

CART算法的原理,网上一抓一大把,在这里我就不过多赘述,现在我直接用一个实例进行讲解,CATR算法在分裂时是如何计算的
注:CART算法一般适用于二分类,构建二叉树
1、数据集D:
年龄 有工作 有自己的房子 信贷情况 类别
青年 否 否 一般 否
青年 否 否 好 否
青年 是 否 好 是
青年 是 是 一般 是
青年 否 否 一般 否
中年 否 否 一般 否
中年 否 否 好 否
中年 是 是 好 是
中年 否 是 非常好 是
中年 否 是 非常好 是
老年 否 是 非常好 是
老年 否 是 好 是
老年 是 否 好 是
老年 是 否 非常好 是
老年 否 否 一般 否
2、开始计算
第一步,分别设四个特征(年龄、有工作、有自己的房子、信贷情况)为。四个特征的取值分别为(青年、中年、老年)(是、否),(是、否),(一般、好、非常好)
开始求取特征A1的基尼系数:

Gini(D,=青年) =

Gini(D,=中年) =

Gini(D,=老年) =
同理可得:
Gini(D,=是) = 0.32
Gini(D,=是) = 0.27
特征A4的基尼系数:
Gini(D,=1) = 0.36
Gini(D,=2) = 0.47
Gini(D,=3) = 0.32
四个特征中,Gini(D,=是) = 0.27最小,所以选择为最优特征,=是为最优且分点。此时根节点生成两个子节点,一个是叶子节点,另外一个是含有三个特征,对这个节点使用上述方法,得到=是为最优特征和最优切分点。按照上述步骤进行计算,所有节点都是叶子结点

原创粉丝点击