决策树例题
文章目录
1 有以下二分类问题训练样本
顾客ID | 性别 | 车型 | 衬衣尺码 | 类 |
---|---|---|---|---|
1 | 男 | 家用 | 小 | C0 |
2 | 男 | 运动 | 中 | C0 |
3 | 男 | 运动 | 中 | C0 |
4 | 男 | 运动 | 大 | C0 |
5 | 男 | 运动 | 加大 | C0 |
6 | 男 | 运动 | 加大 | C0 |
7 | 女 | 运动 | 小 | C0 |
8 | 女 | 运动 | 小 | C0 |
9 | 女 | 运动 | 中 | C0 |
10 | 女 | 豪华 | 大 | C0 |
11 | 男 | 家用 | 大 | C1 |
12 | 男 | 家用 | 加大 | C1 |
13 | 男 | 家用 | 中 | C1 |
14 | 男 | 豪华 | 加大 | C1 |
15 | 女 | 豪华 | 小 | C1 |
16 | 女 | 豪华 | 小 | C1 |
17 | 女 | 豪华 | 中 | C1 |
18 | 女 | 豪华 | 中 | C1 |
19 | 女 | 豪华 | 中 | C1 |
20 | 女 | 豪华 | 大 | C1 |
GINI计算
- 计算整个样本集的GINI指标值
- ID属性GINI指标值
- 性别属性GINI指标值
- 多路划分属性车型的GINI指标值
- 多路划分属性衬衣的GINI指标值
- 性别、车型、衬衣哪个属性好
以下计算 GINI 公式:
GINI(D)=1−i=1∑np(i)2
解答:
1. 整体Gini值:1-(1/2)^2-(1/2)^2 =0.5
2. ID 每个都不一样,与其他人没有共性,所以GINI=0
3. 性别 :1-(1/2)^2-(1/2)^2 =0.5
4. 家用: 1-(1/4)2-(3/4)2 = 0.375
运动: 1-(0/8)2-(8/8)2 = 0
豪华: 1-(1/8)2-(7/8)2 = 0.218
车型GINI=4/20*0.375+8/20*0.218 = 0.16252
多路划分属性统计表:
Class | 衣服种类 | Class | 车型 | ||||||
小 | 中 | 大 | 加大 | 家用 | 运动 | 豪华 | |||
C0 | 3 | 3 | 2 | 2 | C0 | 1 | 8 | 1 | |
C1 | 2 | 4 | 2 | 2 | C1 | 3 | 0 | 7 |
5. 三种尺码GINI系数:
小:1-(3/5)2-(2/5)2 = 0.48
中:1-(3/7)2-(4/7)2 = 0.4898
大:1-(2/4)2-(2/4)2 = 0.5
加大:1-(2/4)2-(2/4)2 = 0.5
衬衣GINI:5/20*0.48+7/20*0.4898+4/20*0.5+4/20*0.5 = 0.4914
6. 属性比较:通过上述计算,显然车型不纯度高,更容易划分
2 有以下二分类问题数据集。
左侧为原数据,右侧上下两个表为统计数据
A | B | 类标号 | 统计A | |||
T | F | + | A=T | A=F | ||
T | T | + | + | 4 | 0 | |
T | T | + | - | 3 | 3 | |
T | F | - | ||||
T | T | + | ||||
F | F | - | ||||
F | F | - | 统计B | |||
F | F | - | B=T | B=F | ||
T | T | - | + | 3 | 1 | |
T | F | - | - | 1 | 5 |
信息增益计算
- 计算按照属性A和B划分时的信息增益。决策树归纳算法将会选择那个属性?
- 计算按照属性A和B划分时GINI指标。决策树归纳算法将会选择那个属性?
- 熵和GINI指标在区间 [0,0.5] 都是单调递增,在区间 [0,0.5] 单调递减。有没有可能信息增益和GINI指标增益支持不同的属性?解释你的理由。
信息熵:
Entropy(A)=−i=1∑ipilog2pi
(1)划分前样本集的信息熵:E=−0.4log20.4−0.6log20.6=0.9710
EA=T:−74log274−73log273=0.9852
EA=F:−30log230−33log233=0
按照A属性划分样本集的 信息增益:ΔA=E−107EA=T−103EA=F = 0.2813
同理可得:(恕我偷懒了,网页编辑公式费时)
按照B属性划分样本集的 信息增益:ΔB=E−104EB=T−106EB=F = 0.2565
因此决策树归纳算法选A属性
(2)按照属性A 、B划分样本集
解答:由原数据 (左表)和统计A 可得GINI指标:
GINI类标号:G=1−(104)2−(106)2=0.48
GINIA=T:1−(74)2−(73)2=0.4898
GINIA=F:1−(30)2−(33)2=0
GINI 增益:
EA=GINI类标号−107GINIA=T−103GINIA=F=0.1371
由统计B(右下表) 可得:
GINIB=T:1−(43)2−(41)2=0.3750
GINIB=F:1−(61)2−(65)2=0.2778
GINI 增益:
EB=GINI类标号−104GINIB=T−106GINIB=F=0.1633
因此决策树归纳算法选B属性
(C):信息增益考察的是特征对整个数据贡献,没有到具体的类别上,所以一般只能用来做全局的特征选择
Gini系数是一种与信息熵类似的做特征选择的方式,用来数据的不纯度。在做特征选择的时候,我们可以取ΔGini(X)最大的那个。
相关阅读
操作系统的运行环境 1、(5分)控制和状态寄存器用于控制处理器的操作,在某种特权级别下可以访问、修改。下列哪一个不是控制和状态
决策树分类(decision tree classification)和python实
决策树分类很符合人类分类时的思想,决策树分类时会提出很多不同的问题,判断样本的某个特征,然后综合所有的判断结果给出样本的类别。
由于最近在学习算法相关的东西,发现课后的习题没有答案,给我造成很大困扰,以下分享了从网上找到的答案链接: https://pan.baidu.com/
习题4-6 水仙花数 (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153=13+53
决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在