决策树
1.什么是决策树:
一种通过决策条件将数据分为若干类的分类模型
2.关键知识点:
(1) 不确定性:
什么是不确定性?举个例子,明天有90%可能性下雨,那我们出门之前肯定是会拿上雨伞,这就叫对于拿伞的不确定性很低(言外之意就是确定要拿伞);明天有50%的可能性会下雨,那我们出门之前纠结到底要不要拿伞,这就叫对于拿伞的不确定性很高(言外之意就是纠结到底要不要拿伞)
(2) 好的特征:
决策树中什么是好的特征?就是通过使用该特征分类后,所有的样本都被准确的分为同一类
(3) 信息熵:
公式:
H
=
−
∑
i
p
i
∗
log
p
i
p
i
:
某
一
类
数
值
所
占
比
重
H = -\sum_{i}p_{i}*\log{p_{i}}\\ p_i:某一类数值所占比重
H=−i∑pi∗logpipi:某一类数值所占比重
例题:
给定一组数据{0,0,1,1,0,1,1,1}该数组的信息熵:
该数组中一共有8个元素,其中3个0,5个1,定义p_0=3/8,p_1=5/8
p
0
=
3
8
,
p
1
=
5
8
H
=
−
(
p
0
∗
log
p
0
+
p
1
∗
log
p
1
)
=
−
(
3
8
∗
log
3
8
+
5
8
∗
log
5
8
)
p_0 = \frac{3}{8},p1 = \frac{5}{8}\\ H = -(p_0*\log{p_0}+p1*\log{p_1}) = -(\frac{3}{8}*\log{\frac{3}{8}}+\frac{5}{8}*\log{\frac{5}{8}})
p0=83,p1=85H=−(p0∗logp0+p1∗logp1)=−(83∗log83+85∗log85)
备注:信息熵越大,不确定性就越大
(4) 信息增益:
公式:不确定的减少 = 原来的不确定性-分割后的不确定性
I
G
(
T
,
A
)
=
H
(
T
)
−
H
(
T
∣
A
)
IG(T,A) = H(T) - H(T|A)
IG(T,A)=H(T)−H(T∣A)
备注:在其一状态一致时,增益越大表示H(T|A)越小,即H(T|A)的不确定性就越小,该状态的值就越确定。
3.详细讲解:
(1) 决策树是由节点和边来组成
(2) 一颗决策树与对应的决策边界
(3) 例题:
TIME | MATCH TYPE | court surface | Best Effort | Outcome |
---|---|---|---|---|
Morning | Master | Grass | 1 | F |
Afternoon | Grand slam | Clay | 1 | F |
Night | Friendly | Hard | 0 | F |
Afternoon | Friendly | Mixed | 0 | N |
Afternoon | Master | Clay | 1 | N |
Afternoon | Grand slam | Grass | 1 | F |
Afternoon | Grand slam | Hard | 1 | F |
Afternoon | Grand slam | Hard | 1 | F |
Morning | Master | Grass | 1 | F |
Afternoon | Grand slam | Clay | 1 | N |
Night | Friendly | Hard | 0 | F |
Night | Master | Mixed | 1 | N |
Afternoon | Master | Clay | 1 | N |
Afternoon | Master | Grass | 1 | F |
Afternoon | Grand slam | Hard | 1 | F |
Afternoon | Grand slam | Clay | 1 | F |
通过上述数据,希望通过决策树模型来预测比赛的结果
步骤1:计算每个特征的信息增益:
H
(
F
,
N
)
=
−
11
16
∗
log
11
16
−
5
16
∗
log
5
16
(1)
H(F,N) = -\frac{11}{16}*\log{\frac{11}{16}} - \frac{5}{16}*\log{\frac{5}{16}} \tag{1}
H(F,N)=−1611∗log1611−165∗log165(1)
特征TIME
:Morning
:2个F;Afternoon
:7个F,4个N;Night
:2个F,1个N;
H
(
F
,
N
∣
A
)
=
2
16
H
(
F
,
N
∣
M
o
r
n
i
n
g
)
+
11
16
H
(
F
,
N
∣
A
f
t
e
r
n
o
o
n
)
+
3
16
H
(
F
,
N
∣
N
i
g
h
t
)
=
2
16
∗
0
+
11
16
∗
(
−
7
11
∗
log
7
11
−
4
11
∗
log
4
11
)
+
3
16
∗
(
−
2
3
∗
log
2
3
−
1
3
∗
log
1
3
)
(2)
\begin{aligned} H(F,N|A) &= \frac{2}{16}H(F,N|Morning) + \frac{11}{16}H(F,N|Afternoon) + \frac{3}{16}H(F,N|Night)\\ &= \frac{2}{16}*0 +\frac{11}{16}*( -\frac{7}{11}*\log{\frac{7}{11}} - \frac{4}{11}*\log{\frac{4}{11}})+ \frac{3}{16}*(-\frac{2}{3}*\log{\frac{2}{3}} - \frac{1}{3}*\log{\frac{1}{3}}) \\ \end{aligned} \tag{2}\\
H(F,N∣A)=162H(F,N∣Morning)+1611H(F,N∣Afternoon)+163H(F,N∣Night)=162∗0+1611∗(−117∗log117−114∗log114)+163∗(−32∗log32−31∗log31)(2)
( 1 ) − ( 2 ) = − 11 16 ∗ log 11 16 − 5 16 ∗ log 5 16 + 7 16 ∗ log 7 11 + 4 16 ∗ log 4 11 + 2 16 ∗ log 2 3 + 1 16 ∗ log 1 3 ∴ 对 于 特 征 T I M E 的 信 息 增 益 = − 11 16 ∗ log 11 16 − 5 16 ∗ log 5 16 + 7 16 ∗ log 7 11 + 4 16 ∗ log 4 11 + 2 16 ∗ log 2 3 + 1 16 ∗ log 1 3 \begin{aligned} (1) - (2) = -\frac{11}{16}*\log{\frac{11}{16}} - \frac{5}{16}*\log{\frac{5}{16}} + \frac{7}{16}*\log{\frac{7}{11}} + \frac{4}{16}*\log{\frac{4}{11}} + \frac{2}{16}*\log{\frac{2}{3}} + \frac{1}{16}*\log{\frac{1}{3}}\\ \therefore 对于特征TIME的信息增益=-\frac{11}{16}*\log{\frac{11}{16}} - \frac{5}{16}*\log{\frac{5}{16}} + \frac{7}{16}*\log{\frac{7}{11}} + \frac{4}{16}*\log{\frac{4}{11}} + \frac{2}{16}*\log{\frac{2}{3}} + \frac{1}{16}*\log{\frac{1}{3}} \end{aligned} (1)−(2)=−1611∗log1611−165∗log165+167∗log117+164∗log114+162∗log32+161∗log31∴对于特征TIME的信息增益=−1611∗log1611−165∗log165+167∗log117+164∗log114+162∗log32+161∗log31
余下的特征也是同样的计算方式,大家可以自己尝试一下
最终我们会得到经过决策树模型分类后的结果