决策树(信息熵—GINI)计算习题

文章目录

      • 1 有以下二分类问题训练样本
          • GINI计算
      • 2 有以下二分类问题数据集。
          • 信息增益计算

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计算
  1. 计算整个样本集的GINI指标值
  2. ID属性GINI指标值
  3. 性别属性GINI指标值
  4. 多路划分属性车型的GINI指标值
  5. 多路划分属性衬衣的GINI指标值
  6. 性别、车型、衬衣哪个属性好

以下计算 GINI 公式:
G I N I ( D ) = 1 − ∑ i = 1 n p ( i ) 2 GINI(D) = 1-\sum_{i=1}^{n}p(i)^2 GINI(D)=1i=1np(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
信息增益计算
  1. 计算按照属性A和B划分时的信息增益。决策树归纳算法将会选择那个属性?
  2. 计算按照属性A和B划分时GINI指标。决策树归纳算法将会选择那个属性?
  3. 熵和GINI指标在区间 [0,0.5] 都是单调递增,在区间 [0,0.5] 单调递减。有没有可能信息增益和GINI指标增益支持不同的属性?解释你的理由。

信息熵
E n t r o p y ( A ) = − ∑ i = 1 i p i log ⁡ 2 p i Entropy(A) = -\sum_{i=1}^{i}p_i\log_2p_i Entropy(A)=i=1ipilog2pi
(1)划分前样本集的信息熵 E = − 0.4 log ⁡ 2 0.4 − 0.6 log ⁡ 2 0.6 = 0.9710 E = -0.4\log_20.4-0.6\log_20.6 = 0.9710 E=0.4log20.40.6log20.6=0.9710

       ~~~~~~        E A = T : − 4 7 log ⁡ 2 4 7 − 3 7 log ⁡ 2 3 7 = 0.9852 E_{A=T}:-\frac{4}{7}\log_2 \frac{4}{7}-\frac{3}{7} \log_2 \frac{3}{7} = 0.9852 EA=T:74log27473log273=0.9852

       ~~~~~~        E A = F : − 0 3 log ⁡ 2 0 3 − 3 3 log ⁡ 2 3 3 = 0 E_{A=F}: -\frac{0}{3}\log_2 \frac{0}{3}-\frac{3}{3} \log_2 \frac{3}{3} = 0 EA=F:30log23033log233=0

       ~~~~~~       按照A属性划分样本集的 信息增益 Δ A = E − 7 10 E A = T − 3 10 E A = F \Delta_A = E-\frac{7}{10}E_{A=T}-\frac{3}{10}E_{A=F} ΔA=E107EA=T103EA=F = 0.2813

       ~~~~~~       同理可得:(恕我偷懒了,网页编辑公式费时)
       ~~~~~~       按照B属性划分样本集的 信息增益 Δ B = E − 4 10 E B = T − 6 10 E B = F \Delta_B = E-\frac{4}{10}E_{B=T}-\frac{6}{10}E_{B=F} ΔB=E104EB=T106EB=F = 0.2565
       ~~~~~~       因此决策树归纳算法选A属性

(2)按照属性A 、B划分样本集
       ~~~~~~       解答:由原数据 (左表)和统计A 可得GINI指标:

       ~~~~~~        G I N I 类 标 号 : G = 1 − ( 4 10 ) 2 − ( 6 10 ) 2 = 0.48 GINI_{类标号}:G =1-(\frac{4}{10})^2-(\frac{6}{10})^2= 0.48 GINIG=1(104)2(106)2=0.48

       ~~~~~~        G I N I A = T : 1 − ( 4 7 ) 2 − ( 3 7 ) 2 = 0.4898 GINI_{A=T}:1-(\frac{4}{7})^2-(\frac{3}{7})^2 = 0.4898 GINIA=T:1(74)2(73)2=0.4898
       ~~~~~~        G I N I A = F : 1 − ( 0 3 ) 2 − ( 3 3 ) 2 = 0 GINI_{A=F}:1-(\frac{0}{3})^2-(\frac{3}{3})^2 = 0 GINIA=F1(30)2(33)2=0

GINI 增益:
E A = G I N I 类 标 号 − 7 10 G I N I A = T − 3 10 G I N I A = F = 0.1371 E_A = GINI_{类标号}-\frac{7}{10}GINI_{A=T}- \frac{3}{10}GINI_{A=F} = 0.1371 EA=GINI107GINIA=T103GINIA=F=0.1371

由统计B(右下表) 可得:

       ~~~~~~        G I N I B = T : 1 − ( 3 4 ) 2 − ( 1 4 ) 2 = 0.3750 GINI_{B=T}:1-(\frac{3}{4})^2-(\frac{1}{4})^2 = 0.3750 GINIB=T1(43)2(41)2=0.3750
       ~~~~~~        G I N I B = F : 1 − ( 1 6 ) 2 − ( 5 6 ) 2 = 0.2778 GINI_{B=F}:1-(\frac{1}{6})^2-(\frac{5}{6})^2 = 0.2778 GINIB=F1(61)2(65)2=0.2778

GINI 增益:
E B = G I N I 类 标 号 − 4 10 G I N I B = T − 6 10 G I N I B = F = 0.1633 E_B = GINI_{类标号} - \frac{4}{10}GINI_{B=T}- \frac{6}{10}GINI_{B=F} = 0.1633 EB=GINI104GINIB=T106GINIB=F=0.1633
       ~~~~~~       因此决策树归纳算法选B属性

(C):信息增益考察的是特征对整个数据贡献,没有到具体的类别上,所以一般只能用来做全局的特征选择
Gini系数是一种与信息熵类似的做特征选择的方式,用来数据的不纯度。在做特征选择的时候,我们可以取ΔGini(X)最大的那个。

你可能感兴趣的:(机器学习—算法及代码)