C4.5决策树案例分析
本次案例分析是对C4.5决策树有所了解后,实现的手动推理
一. 数据
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 本科 | 985 | 无 | 是 |
2 | 女 | 本科 | 211 | 无 | 是 |
3 | 男 | 研究生 | 普通 | 有 | 是 |
4 | 男 | 大专 | 普通 | 有 | 否 |
5 | 女 | 本科 | 985 | 无 | 是 |
6 | 男 | 研究生 | 普通 | 有 | 是 |
7 | 男 | 本科 | 211 | 无 | 是 |
8 | 男 | 大专 | 普通 | 有 | 否 |
9 | 男 | 本科 | 普通 | 无 | 否 |
10 | 女 | 本科 | 普通 | 有 | 否 |
11 | 男 | 本科 | 211 | 无 | 是 |
12 | 男 | 研究生 | 211 | 无 | 是 |
二. 分析
存在四种影响特征,且均为离散型变量(连续型变量需要离散化),最终的标签只有两类(是/否)
注意:以下计算过程中,结果保留三位小数,采用四舍五入
三. 总体信息熵
样本12个,是 = 8,否 = 4
是 | 否 |
---|---|
8 | 4 |
H ( X ) = − 8 12 × log 2 8 12 − 4 12 × log 2 4 12 ≈ 0.918 \begin{aligned} H(X) &= -\frac{8}{12} \times \log _2 \frac{8}{12} - \frac{4}{12} \times \log _2 \frac{4}{12} \\ &\approx 0.918 \end{aligned} H(X)=−128×log2128−124×log2124≈0.918
四. 分析变量
4.1 分析第一个自变量:性别
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 本科 | 985 | 无 | 是 |
2 | 男 | 研究生 | 211 | 无 | 是 |
3 | 男 | 研究生 | 普通 | 有 | 是 |
4 | 男 | 研究生 | 普通 | 有 | 是 |
5 | 男 | 本科 | 211 | 无 | 是 |
6 | 男 | 本科 | 211 | 无 | 是 |
7 | 男 | 大专 | 普通 | 有 | 否 |
8 | 男 | 本科 | 普通 | 无 | 否 |
9 | 男 | 大专 | 普通 | 有 | 否 |
10 | 女 | 本科 | 211 | 无 | 是 |
11 | 女 | 本科 | 985 | 无 | 是 |
12 | 女 | 本科 | 普通 | 有 | 否 |
4.1.1 计算性别为男的信息熵
样本9个,是 = 6,否 = 3
是 | 否 |
---|---|
6 | 3 |
H ( X , 性别 = 男 ) = − 6 9 × log 2 6 9 − 3 9 × log 2 3 9 ≈ 0.918 \begin{aligned} H(X, 性别 = 男) &= -\frac{6}{9} \times \log _2 \frac{6}{9} - \frac{3}{9} \times \log _2 \frac{3}{9} \\ &\approx 0.918 \end{aligned} H(X,性别=男)=−96×log296−93×log293≈0.918
4.1.2 计算性别为女的信息熵
样本3个,是 = 2,否 = 1
是 | 否 |
---|---|
2 | 1 |
H ( X , 性别 = 女 ) = − 2 3 × log 2 2 3 − 1 3 × log 2 1 3 ≈ 0.918 \begin{aligned} H(X, 性别 = 女) &= -\frac{2}{3} \times \log _2 \frac{2}{3} - \frac{1}{3} \times \log _2 \frac{1}{3} \\ &\approx 0.918 \end{aligned} H(X,性别=女)=−32×log232−31×log231≈0.918
4.1.3 计算性别的条件熵
H
(
X
,
性别
)
=
9
12
×
0.918
+
3
12
×
0.918
=
0.918
\begin{aligned} H(X, 性别) &= \frac{9}{12} \times 0.918 + \frac{3}{12} \times 0.918 \\ &= 0.918 \end{aligned}
H(X,性别)=129×0.918+123×0.918=0.918
4.1.4 计算性别的信息增益
G
a
i
n
(
X
,
性别
)
=
H
(
X
)
−
H
(
X
,
性别
)
=
0.918
−
0.918
=
0
\begin{aligned} Gain(X, 性别) &= H(X) - H(X, 性别) \\ & = 0.918 - 0.918 \\ & = 0 \end{aligned}
Gain(X,性别)=H(X)−H(X,性别)=0.918−0.918=0
4.1.5 计算性别的固有属性IV
I
V
=
−
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
×
log
2
∣
D
v
∣
∣
D
∣
\begin{aligned} IV= - \sum _{v = 1}^{V} \frac{\\|D^v\\|}{\\|D\\|} \times \log _2 \frac{\\|D^v\\|}{\\|D\\|} \end{aligned}
IV=−v=1∑V∣D∣∣Dv∣×log2∣D∣∣Dv∣
I V ( X , 性别 ) = − 9 12 × log 2 9 12 − 3 12 × log 2 3 12 ≈ 0.811 \begin{aligned} IV(X, 性别) &= - \frac{9}{12} \times \log _2 \frac{9}{12} - \frac{3}{12} \times \log _2 \frac{3}{12} \\ &\approx 0.811 \end{aligned} IV(X,性别)=−129×log2129−123×log2123≈0.811
4.1.6 计算性别的增益率
G
a
i
n
_
r
a
t
i
o
=
G
a
i
n
I
V
\begin{aligned} Gain\_ratio= \frac {Gain}{IV} \end{aligned}
Gain_ratio=IVGain
G a i n _ r a t i o ( X , 性别 ) = 0 0.811 = 0 \begin{aligned} Gain\_ratio(X, 性别) &= \frac {0}{0.811} \\ &= 0 \end{aligned} Gain_ratio(X,性别)=0.8110=0
4.2 分析第二个自变量:学历
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 大专 | 普通 | 有 | 否 |
2 | 男 | 大专 | 普通 | 有 | 否 |
3 | 男 | 本科 | 985 | 无 | 是 |
4 | 女 | 本科 | 211 | 无 | 是 |
5 | 女 | 本科 | 985 | 无 | 是 |
6 | 男 | 本科 | 211 | 无 | 是 |
7 | 男 | 本科 | 211 | 无 | 是 |
8 | 男 | 本科 | 普通 | 无 | 否 |
9 | 女 | 本科 | 普通 | 有 | 否 |
10 | 男 | 研究生 | 211 | 无 | 是 |
11 | 男 | 研究生 | 普通 | 有 | 是 |
12 | 男 | 研究生 | 普通 | 有 | 是 |
4.2.1 计算学历为大专的信息熵
样本2个,是 = 0,否 = 2
是 | 否 |
---|---|
0 | 2 |
H ( X , 学历 = 大专 ) = − 0 2 × log 2 0 2 − 2 2 × log 2 2 2 = 0 \begin{aligned} H(X, 学历 = 大专) &= -\frac{0}{2} \times \log _2 \frac{0}{2} - \frac{2}{2} \times \log _2 \frac{2}{2} \\ &= 0 \end{aligned} H(X,学历=大专)=−20×log220−22×log222=0
4.2.2 计算学历为本科的信息熵
样本7个,是 = 5,否 = 2
是 | 否 |
---|---|
5 | 2 |
H ( X , 学历 = 本科 ) = − 5 7 × log 2 5 7 − 2 7 × log 2 2 7 ≈ 0.863 \begin{aligned} H(X, 学历 = 本科) &= -\frac{5}{7} \times \log _2 \frac{5}{7} - \frac{2}{7} \times \log _2 \frac{2}{7} \\ &\approx 0.863 \end{aligned} H(X,学历=本科)=−75×log275−72×log272≈0.863
4.2.3 计算学历为研究生的信息熵
样本3个,是 = 3,否 = 0
是 | 否 |
---|---|
3 | 0 |
H ( X , 学历 = 研究生 ) = − 3 3 × log 2 3 3 − 0 3 × log 2 0 3 = 0 \begin{aligned} H(X, 学历 = 研究生) &= -\frac{3}{3} \times \log _2 \frac{3}{3} - \frac{0}{3} \times \log _2 \frac{0}{3} \\ &= 0 \end{aligned} H(X,学历=研究生)=−33×log233−30×log230=0
4.2.4 计算学历的条件熵
H
(
X
,
学历
)
=
2
12
×
0
+
7
12
×
0.863
+
3
12
×
0
≈
0.503
\begin{aligned} H(X, 学历) &= \frac{2}{12} \times 0 + \frac{7}{12} \times 0.863 + \frac{3}{12} \times 0 \\ &\approx 0.503 \end{aligned}
H(X,学历)=122×0+127×0.863+123×0≈0.503
4.2.5 计算学历的信息增益
G
a
i
n
(
X
,
学历
)
=
H
(
X
)
−
H
(
X
,
学历
)
=
0.918
−
0.503
=
0.415
\begin{aligned} Gain(X, 学历) &= H(X) - H(X, 学历) \\ & = 0.918 - 0.503 \\ & = 0.415 \end{aligned}
Gain(X,学历)=H(X)−H(X,学历)=0.918−0.503=0.415
4.2.6 计算学历的固有属性IV
I
V
(
X
,
学历
)
=
−
2
12
×
log
2
2
12
−
7
12
×
log
2
7
12
−
3
12
×
log
2
3
12
≈
1.384
\begin{aligned} IV(X, 学历) &= - \frac{2}{12} \times \log _2 \frac{2}{12} - \frac{7}{12} \times \log _2 \frac{7}{12} - \frac{3}{12} \times \log _2 \frac{3}{12} \\ &\approx 1.384 \end{aligned}
IV(X,学历)=−122×log2122−127×log2127−123×log2123≈1.384
4.2.7 计算学历的增益率
G
a
i
n
_
r
a
t
i
o
(
X
,
学历
)
=
0.415
1.384
≈
0.300
\begin{aligned} Gain\_ratio(X, 学历) &= \frac {0.415}{1.384} \\ &\approx 0.300 \end{aligned}
Gain_ratio(X,学历)=1.3840.415≈0.300
4.3 分析第三个自变量:学校
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 本科 | 985 | 无 | 是 |
2 | 女 | 本科 | 985 | 无 | 是 |
3 | 男 | 本科 | 211 | 无 | 是 |
4 | 男 | 研究生 | 211 | 无 | 是 |
5 | 女 | 本科 | 211 | 无 | 是 |
6 | 男 | 本科 | 211 | 无 | 是 |
7 | 男 | 研究生 | 普通 | 有 | 是 |
8 | 男 | 研究生 | 普通 | 有 | 是 |
9 | 男 | 大专 | 普通 | 有 | 否 |
10 | 男 | 本科 | 普通 | 无 | 否 |
11 | 女 | 本科 | 普通 | 有 | 否 |
12 | 男 | 大专 | 普通 | 有 | 否 |
4.3.1 计算学校为普通学校的信息熵
样本6个,是 = 2,否 = 4
是 | 否 |
---|---|
2 | 4 |
H ( X , 学校 = 普通 ) = − 2 6 × log 2 2 6 − 4 6 × log 2 4 6 ≈ 0.918 \begin{aligned} H(X, 学校 = 普通) &= -\frac{2}{6} \times \log _2 \frac{2}{6} - \frac{4}{6} \times \log _2 \frac{4}{6} \\ &\approx 0.918 \end{aligned} H(X,学校=普通)=−62×log262−64×log264≈0.918
4.3.2 计算学校为211的信息熵
样本4个,是 = 4,否 = 0
是 | 否 |
---|---|
4 | 0 |
H ( X , 学校 = 211 ) = − 4 4 × log 2 4 4 − 0 4 × log 2 0 4 = 0 \begin{aligned} H(X, 学校 = 211) &= -\frac{4}{4} \times \log _2 \frac{4}{4} - \frac{0}{4} \times \log _2 \frac{0}{4} \\ &= 0 \end{aligned} H(X,学校=211)=−44×log244−40×log240=0
4.3.3 计算学校为985的信息熵
样本2个,是 = 2,否 = 0
是 | 否 |
---|---|
2 | 0 |
H ( X , 学校 = 985 ) = − 2 2 × log 2 2 2 − 0 2 × log 2 0 2 = 0 \begin{aligned} H(X, 学校 = 985) &= -\frac{2}{2} \times \log _2 \frac{2}{2} - \frac{0}{2} \times \log _2 \frac{0}{2} \\ &= 0 \end{aligned} H(X,学校=985)=−22×log222−20×log220=0
4.3.4 计算学校的条件熵
H
(
X
,
学校
)
=
6
12
×
0.918
+
4
12
×
0
+
2
12
×
0
=
0.459
\begin{aligned} H(X, 学校) &= \frac{6}{12} \times 0.918 + \frac{4}{12} \times 0 + \frac{2}{12} \times 0 \\ &= 0.459 \end{aligned}
H(X,学校)=126×0.918+124×0+122×0=0.459
4.3.5 计算学校的信息增益
G
a
i
n
(
X
,
学校
)
=
H
(
X
)
−
H
(
X
,
学校
)
=
0.918
−
0.459
=
0.459
\begin{aligned} Gain(X, 学校) &= H(X) - H(X, 学校) \\ & = 0.918 - 0.459 \\ & = 0.459 \end{aligned}
Gain(X,学校)=H(X)−H(X,学校)=0.918−0.459=0.459
4.3.6 计算学校的固有属性IV
I
V
(
X
,
学校
)
=
−
6
12
×
log
2
6
12
−
4
12
×
log
2
4
12
−
2
12
×
log
2
2
12
≈
1.459
\begin{aligned} IV(X, 学校) &= - \frac{6}{12} \times \log _2 \frac{6}{12} - \frac{4}{12} \times \log _2 \frac{4}{12} - \frac{2}{12} \times \log _2 \frac{2}{12} \\ &\approx 1.459 \end{aligned}
IV(X,学校)=−126×log2126−124×log2124−122×log2122≈1.459
4.3.7 计算学校的增益率
G
a
i
n
_
r
a
t
i
o
(
X
,
学校
)
=
0.459
1.459
≈
0.315
\begin{aligned} Gain\_ratio(X, 学校) &= \frac {0.459}{1.459} \\ &\approx 0.315 \end{aligned}
Gain_ratio(X,学校)=1.4590.459≈0.315
4.4 分析第四个自变量:经验
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 本科 | 985 | 无 | 是 |
2 | 女 | 本科 | 211 | 无 | 是 |
3 | 女 | 本科 | 985 | 无 | 是 |
4 | 男 | 本科 | 211 | 无 | 是 |
5 | 男 | 本科 | 211 | 无 | 是 |
6 | 男 | 研究生 | 211 | 无 | 是 |
7 | 男 | 本科 | 普通 | 无 | 否 |
8 | 男 | 研究生 | 普通 | 有 | 是 |
9 | 男 | 研究生 | 普通 | 有 | 是 |
10 | 男 | 大专 | 普通 | 有 | 否 |
11 | 男 | 大专 | 普通 | 有 | 否 |
12 | 女 | 本科 | 普通 | 有 | 否 |
4.4.1 计算经验为无的信息熵
样本7个,是 = 6,否 = 1
是 | 否 |
---|---|
6 | 1 |
H ( X , 经验 = 无 ) = − 6 7 × log 2 6 7 − 1 7 × log 2 1 7 ≈ 0.592 \begin{aligned} H(X, 经验 = 无) &= -\frac{6}{7} \times \log _2 \frac{6}{7} - \frac{1}{7} \times \log _2 \frac{1}{7} \\ &\approx 0.592 \end{aligned} H(X,经验=无)=−76×log276−71×log271≈0.592
4.4.2 计算经验为有的信息熵
样本5个,是 = 2,否 = 3
是 | 否 |
---|---|
2 | 3 |
H ( X , 经验 = 有 ) = − 2 5 × log 2 2 5 − 3 5 × log 2 3 5 ≈ 0.971 \begin{aligned} H(X, 经验 = 有) &= -\frac{2}{5} \times \log _2 \frac{2}{5} - \frac{3}{5} \times \log _2 \frac{3}{5} \\ &\approx 0.971 \end{aligned} H(X,经验=有)=−52×log252−53×log253≈0.971
4.4.3 计算经验的条件熵
H
(
X
,
经验
)
=
7
12
×
0.592
+
5
12
×
0.971
=
0.750
\begin{aligned} H(X, 经验) &= \frac{7}{12} \times 0.592 + \frac{5}{12} \times 0.971 \\ &= 0.750 \end{aligned}
H(X,经验)=127×0.592+125×0.971=0.750
4.4.4 计算经验的信息增益
G
a
i
n
(
X
,
经验
)
=
H
(
X
)
−
H
(
X
,
经验
)
=
0.918
−
0.750
=
0.168
\begin{aligned} Gain(X, 经验) &= H(X) - H(X, 经验) \\ & = 0.918 - 0.750 \\ & = 0.168 \end{aligned}
Gain(X,经验)=H(X)−H(X,经验)=0.918−0.750=0.168
4.4.5 计算经验的固有属性IV
I
V
(
X
,
经验
)
=
−
7
12
×
log
2
7
12
−
5
12
×
log
2
5
12
≈
0.980
\begin{aligned} IV(X, 经验) &= - \frac{7}{12} \times \log _2 \frac{7}{12} - \frac{5}{12} \times \log _2 \frac{5}{12} \\ &\approx 0.980 \end{aligned}
IV(X,经验)=−127×log2127−125×log2125≈0.980
4.4.6 计算经验的增益率
G
a
i
n
_
r
a
t
i
o
(
X
,
经验
)
=
0.168
0.980
≈
0.171
\begin{aligned} Gain\_ratio(X, 经验) &= \frac {0.168}{0.980} \\ &\approx 0.171 \end{aligned}
Gain_ratio(X,经验)=0.9800.168≈0.171
五. 信息增益与增益率的统计
增益率 | 信息增益 | |
---|---|---|
性别 | 0 | 0 |
学历 | 0.300 | 0.415 |
学校 | 0.315 | 0.459 |
经验 | 0.171 | 0.168 |
六. 选择划分的节点
6.1 计算平均信息增益
G ‾ = 0 + 0.415 + 0.459 + 0.168 4 = 0.261 \begin{aligned} \overline{G} &= \frac{0 + 0.415 + 0.459 + 0.168}{4} \\ & = 0.261 \end{aligned} G=40+0.415+0.459+0.168=0.261
在自变量中,找到其信息增益高于平均信息增益的变量,再选择增益率最高的变量作为划分的节点
6.2 选择节点
其中学校与学历的信息增益均高于平均信息增益,但学校的增益率更高,因此选择学校作为第一个节点
七. 以学校作为根节点
八. 将剩余的6个样本用其他三个自变量进一步划分
九. 待划分的数据
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 研究生 | 普通 | 有 | 是 |
2 | 男 | 大专 | 普通 | 有 | 否 |
3 | 男 | 研究生 | 普通 | 有 | 是 |
4 | 男 | 大专 | 普通 | 有 | 否 |
5 | 男 | 本科 | 普通 | 无 | 否 |
6 | 女 | 本科 | 普通 | 有 | 否 |
十. 带划分数据的总体信息熵
样本6个,是 = 2,否 = 4
是 | 否 |
---|---|
2 | 4 |
H ( X 1 ) = − 2 6 × log 2 2 6 − 4 6 × log 2 4 6 ≈ 0.918 \begin{aligned} H(X_1) &= -\frac{2}{6} \times \log _2 \frac{2}{6} - \frac{4}{6} \times \log _2 \frac{4}{6} \\ &\approx 0.918 \end{aligned} H(X1)=−62×log262−64×log264≈0.918
十一. 分析剩余变量
11.1 分析第一个剩余变量:性别
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 研究生 | 普通 | 有 | 是 |
2 | 男 | 研究生 | 普通 | 有 | 是 |
3 | 男 | 大专 | 普通 | 有 | 否 |
4 | 男 | 大专 | 普通 | 有 | 否 |
5 | 男 | 本科 | 普通 | 无 | 否 |
6 | 女 | 本科 | 普通 | 有 | 否 |
11.1.1 计算性别为男的信息熵
样本5个,是 = 2,否 = 3
是 | 否 |
---|---|
2 | 3 |
H ( X 1 , 性别 = 男 ) = − 2 5 × log 2 2 5 − 3 5 × log 2 3 5 ≈ 0.971 \begin{aligned} H(X_1, 性别 = 男) &= -\frac{2}{5} \times \log _2 \frac{2}{5} - \frac{3}{5} \times \log _2 \frac{3}{5} \\ &\approx 0.971 \end{aligned} H(X1,性别=男)=−52×log252−53×log253≈0.971
11.1.2 计算性别为女的信息熵
样本1个,是 = 0,否 = 1
是 | 否 |
---|---|
0 | 1 |
H ( X 1 , 性别 = 女 ) = − 0 1 × log 2 0 1 − 1 1 × log 2 1 1 = 0 \begin{aligned} H(X_1, 性别 = 女) &= -\frac{0}{1} \times \log _2 \frac{0}{1} - \frac{1}{1} \times \log _2 \frac{1}{1} \\ &= 0 \end{aligned} H(X1,性别=女)=−10×log210−11×log211=0
11.1.3 计算性别的条件熵
H
(
X
1
,
性别
)
=
5
6
×
0.971
+
1
6
×
0
≈
0.809
\begin{aligned} H(X_1, 性别) &= \frac{5}{6} \times 0.971 + \frac{1}{6} \times 0 \\ &\approx 0.809 \end{aligned}
H(X1,性别)=65×0.971+61×0≈0.809
11.1.4 计算性别的信息增益
G
a
i
n
(
X
1
,
性别
)
=
H
(
X
1
)
−
H
(
X
1
,
性别
)
=
0.918
−
0.809
=
0.109
\begin{aligned} Gain(X_1, 性别) &= H(X_1) - H(X_1, 性别) \\ & = 0.918 - 0.809 \\ & = 0.109 \end{aligned}
Gain(X1,性别)=H(X1)−H(X1,性别)=0.918−0.809=0.109
11.1.5 计算性别的固有属性IV
I
V
(
X
1
,
性别
)
=
−
5
6
×
log
2
5
6
−
1
6
×
log
2
1
6
≈
0.650
\begin{aligned} IV(X_1, 性别) &= - \frac{5}{6} \times \log _2 \frac{5}{6} - \frac{1}{6} \times \log _2 \frac{1}{6} \\ &\approx 0.650 \end{aligned}
IV(X1,性别)=−65×log265−61×log261≈0.650
11.1.6 计算性别的增益率
G
a
i
n
_
r
a
t
i
o
(
X
1
,
性别
)
=
0.109
0.650
≈
0.168
\begin{aligned} Gain\_ratio(X_1, 性别) &= \frac {0.109}{0.650} \\ &\approx 0.168 \end{aligned}
Gain_ratio(X1,性别)=0.6500.109≈0.168
11.2 分析第二个剩余变量:学历
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 大专 | 普通 | 有 | 否 |
2 | 男 | 大专 | 普通 | 有 | 否 |
3 | 男 | 本科 | 普通 | 无 | 否 |
4 | 女 | 本科 | 普通 | 有 | 否 |
5 | 男 | 研究生 | 普通 | 有 | 是 |
6 | 男 | 研究生 | 普通 | 有 | 是 |
11.2.1 计算学历为大专的信息熵
样本2个,是 = 0,否 = 2
是 | 否 |
---|---|
0 | 2 |
H ( X 1 , 学历 = 大专 ) = − 0 2 × log 2 0 2 − 2 2 × log 2 2 2 = 0 \begin{aligned} H(X_1, 学历 = 大专) &= -\frac{0}{2} \times \log _2 \frac{0}{2} - \frac{2}{2} \times \log _2 \frac{2}{2} \\ &= 0 \end{aligned} H(X1,学历=大专)=−20×log220−22×log222=0
11.2.2 计算学历为本科的信息熵
样本2个,是 = 0,否 = 2
是 | 否 |
---|---|
0 | 2 |
H ( X 1 , 学历 = 本科 ) = − 0 2 × log 2 0 2 − 2 2 × log 2 2 2 = 0 \begin{aligned} H(X_1, 学历 = 本科) &= -\frac{0}{2} \times \log _2 \frac{0}{2} - \frac{2}{2} \times \log _2 \frac{2}{2} \\ &= 0 \end{aligned} H(X1,学历=本科)=−20×log220−22×log222=0
11.2.3 计算学历为研究生的信息熵
样本2个,是 = 2,否 = 0
是 | 否 |
---|---|
2 | 0 |
H ( X 1 , 学历 = 本科 ) = − 2 2 × log 2 2 2 − 0 2 × log 2 0 2 = 0 \begin{aligned} H(X_1, 学历 = 本科) &= -\frac{2}{2} \times \log _2 \frac{2}{2} - \frac{0}{2} \times \log _2 \frac{0}{2} \\ &= 0 \end{aligned} H(X1,学历=本科)=−22×log222−20×log220=0
11.2.4 计算学历的条件熵
H
(
X
1
,
学历
)
=
2
6
×
0
+
2
6
×
0
+
2
6
×
0
=
0
\begin{aligned} H(X_1, 学历) &= \frac{2}{6} \times 0 + \frac{2}{6} \times 0 + \frac{2}{6} \times 0\\ &= 0 \end{aligned}
H(X1,学历)=62×0+62×0+62×0=0
11.2.5 计算学历的信息增益
G
a
i
n
(
X
1
,
学历
)
=
H
(
X
1
)
−
H
(
X
1
,
学历
)
=
0.918
−
0
=
0.918
\begin{aligned} Gain(X_1, 学历) &= H(X_1) - H(X_1, 学历) \\ & = 0.918 - 0 \\ & = 0.918 \end{aligned}
Gain(X1,学历)=H(X1)−H(X1,学历)=0.918−0=0.918
11.2.6 计算学历的固有属性IV
I
V
(
X
1
,
学历
)
=
−
2
6
×
log
2
2
6
−
2
6
×
log
2
2
6
−
2
6
×
log
2
2
6
≈
1.585
\begin{aligned} IV(X_1, 学历) &= - \frac{2}{6} \times \log _2 \frac{2}{6} - \frac{2}{6} \times \log _2 \frac{2}{6} - \frac{2}{6} \times \log _2 \frac{2}{6} \\ &\approx 1.585 \end{aligned}
IV(X1,学历)=−62×log262−62×log262−62×log262≈1.585
11.2.7 计算学历的增益率
G
a
i
n
_
r
a
t
i
o
(
X
1
,
学历
)
=
0.918
1.585
≈
0.579
\begin{aligned} Gain\_ratio(X_1, 学历) &= \frac {0.918}{1.585} \\ &\approx 0.579 \end{aligned}
Gain_ratio(X1,学历)=1.5850.918≈0.579
11.3 分析第三个剩余变量:经验
ID | 性别 | 学历 | 学校 | 经验 | 是否录用 |
---|---|---|---|---|---|
1 | 男 | 研究生 | 普通 | 有 | 是 |
2 | 男 | 研究生 | 普通 | 有 | 是 |
3 | 男 | 大专 | 普通 | 有 | 否 |
4 | 男 | 大专 | 普通 | 有 | 否 |
5 | 女 | 本科 | 普通 | 有 | 否 |
6 | 男 | 本科 | 普通 | 无 | 否 |
11.3.1 计算经验为无的信息熵
样本1个,是 = 0,否 = 1
是 | 否 |
---|---|
0 | 1 |
H ( X 1 , 经验 = 无 ) = − 0 1 × log 2 0 1 − 1 1 × log 2 1 1 = 0 \begin{aligned} H(X_1, 经验 = 无) &= -\frac{0}{1} \times \log _2 \frac{0}{1} - \frac{1}{1} \times \log _2 \frac{1}{1} \\ &= 0 \end{aligned} H(X1,经验=无)=−10×log210−11×log211=0
11.3.2 计算经验为有的信息熵
样本5个,是 = 2,否 = 3
是 | 否 |
---|---|
2 | 3 |
H ( X 1 , 经验 = 有 ) = − 2 5 × log 2 2 5 − 3 5 × log 2 3 5 ≈ 0.971 \begin{aligned} H(X_1, 经验 = 有) &= -\frac{2}{5} \times \log _2 \frac{2}{5} - \frac{3}{5} \times \log _2 \frac{3}{5} \\ &\approx 0.971 \end{aligned} H(X1,经验=有)=−52×log252−53×log253≈0.971
11.3.3 计算经验的条件熵
H
(
X
1
,
经验
)
=
1
6
×
0
+
5
6
×
0.971
≈
0.809
\begin{aligned} H(X_1, 经验) &= \frac{1}{6} \times 0 + \frac{5}{6} \times 0.971 \\ &\approx 0.809 \end{aligned}
H(X1,经验)=61×0+65×0.971≈0.809
11.3.4 计算经验的信息增益
G
a
i
n
(
X
1
,
经验
)
=
H
(
X
1
)
−
H
(
X
1
,
经验
)
=
0.918
−
0.809
=
0.109
\begin{aligned} Gain(X_1, 经验) &= H(X_1) - H(X_1, 经验) \\ & = 0.918 - 0.809 \\ & = 0.109 \end{aligned}
Gain(X1,经验)=H(X1)−H(X1,经验)=0.918−0.809=0.109
11.3.5 计算经验的固有属性IV
I
V
(
X
1
,
经验
)
=
−
5
6
×
log
2
5
6
−
1
6
×
log
2
1
6
≈
0.650
\begin{aligned} IV(X_1, 经验) &= - \frac{5}{6} \times \log _2 \frac{5}{6} - \frac{1}{6} \times \log _2 \frac{1}{6} \\ &\approx 0.650 \end{aligned}
IV(X1,经验)=−65×log265−61×log261≈0.650
11.3.6 计算经验的增益率
G
a
i
n
_
r
a
t
i
o
(
X
1
,
经验
)
=
0.109
0.650
≈
0.168
\begin{aligned} Gain\_ratio(X_1, 经验) &= \frac {0.109}{0.650} \\ &\approx 0.168 \end{aligned}
Gain_ratio(X1,经验)=0.6500.109≈0.168
十二. 增益率与信息增益的统计
信息增益 | 增益率 | |
---|---|---|
性别 | 0.109 | 0.168 |
学历 | 0.918 | 0.579 |
经验 | 0.109 | 0.168 |
十三. 选择划分的节点
13.1 计算平均信息增益
G ‾ = 0.109 + 0.918 + 0.109 3 ≈ 0.379 \begin{aligned} \overline{G} &= \frac{0.109 + 0.918 + 0.109}{3} \\ & \approx 0.379 \end{aligned} G=30.109+0.918+0.109≈0.379
13.2 选择节点
只有学历的信息增益高于平均信息增益,因此选择学历作为节点
十四. 以学历作为节点再次分裂
十五. 手推实现
本次案例是对C4.5决策树的手推实现,如果有小伙伴有具体的代码实现讲解更好了。