数据集:
序号 |
是否有房 |
婚姻状况 |
年收入 |
是否拖欠贷款 |
1 |
是 |
单身 |
12.5 |
否 |
2 |
否 |
已婚 |
10 |
否 |
3 |
否 |
单身 |
7 |
否 |
4 |
是 |
已婚 |
12 |
否 |
5 |
否 |
离异 |
9.5 |
是 |
6 |
否 |
已婚 |
6 |
否 |
7 |
是 |
离异 |
22 |
否 |
8 |
否 |
单身 |
8.5 |
是 |
9 |
否 |
已婚 |
7.5 |
否 |
10 |
否 |
单身 |
9 |
是 |
数据集来源:https://blog.youkuaiyun.com/baimafujinji/article/details/53269040 数据挖掘十大算法之CART详解。(博客专家白马负金羁)年收入单位为:万元 |
- 基尼指数(Gini Index)
Gini(D)反映了从数据集中随机抽取两个样本,其类别标记不一致的概率。因此,Gini(D)越小,则数据集D的纯度越高。
属性a的基尼指数定义为:
Gini_index(D,a)=
比如我们上述的数据集中,有三个特征,对每个特征a中,计算其Gini_index。选择其中的Gini_index最小的那个作为我们拆分的节点。
- 利用基尼指数(Gini Index)选择划分特征
一、选择分支的特征 |
||||
特征1:是否有房变量的Gini指数计算 |
||||
|
是否拖欠 |
|
||
是否有房 |
|
是 |
否 |
sum |
是 |
0 |
3 |
3 |
|
否 |
3 |
4 |
7 |
|
sum |
3 |
7 |
10 |
|
|
|
|
|
|
|
有房的占比3/10 |
拖欠贷款的比例 |
0/3=0 |
|
|
|
未拖欠贷款的比例 |
3/3=1 |
|
|
有房的基尼指数0 |
1-(0/3)^2-(3/3)^2=0 |
|
|
|
|
|
|
|
|
无房的占比7/10 |
拖欠贷款的比例 |
3/7 |
|
|
|
未拖欠贷款的比例 |
4/7 |
|
|
无房的基尼指数0.4898 |
1-(3/7)^2-(4/7)^2=0.4898 |
|
|
是否有房的基尼指数 |
3/10*0+7/10*0.4898 |
0.34286 |
|
|
|
|
|
|
|
特征2:婚姻状况的Gini指数计算 |
||||
由于婚姻状况有三种状态(已婚,单身,离异),而基尼系数只能计算两个随机抽取的样本不一致的概率。因此,这里要用其中一个类别,把总体分成两类。 |
||||
(1) |
按照{已婚,(单身,离异)},分成两组 |
|
|
|
|
|
是否拖欠 |
|
|
|
|
是 |
否 |
sum |
|
已婚 |
0 |
4 |
4 |
|
(单身,离异) |
3 |
3 |
6 |
|