概述
第四章 决策树
算法原理
逻辑角度
if-else的组合
集合角度
根据某种准则划分特征空间
信息熵
自信息
I ( X ) = − l o g b p ( x ) I(X)=-log_bp(x) I(X)=−logbp(x)
当b=2时单位为bit,当b=e时单位为nat
信息熵(自信息的期望)
度量随机变量X的不确定性,信息熵越大越不确定
H
(
X
)
=
E
[
I
(
X
)
]
=
−
∑
x
p
(
x
)
l
o
g
b
p
(
x
)
H(X) = mathbb{E}[I(X)]=-sum_xp(x)log_bp(x)
H(X)=E[I(X)]=−x∑p(x)logbp(x)
当X取的某个值概率为1时信息熵最小,值为0.
当X各取值概率均等时信息熵最大,值为 l o g b X log_bX logbX
假定当前样本集合
D
D
D 中第
k
k
k类样本所站比例为
p
k
(
k
=
1
,
2
,
.
.
.
,
∣
y
∣
)
p_k(k=1,2,...,|y|)
pk(k=1,2,...,∣y∣) ,则
D
D
D的信息熵定义为:
E
n
t
(
D
)
=
−
∑
k
=
1
∣
y
∣
p
k
l
o
g
2
p
k
Ent(D)=-sum_{k=1}^{|y|}p_klog_2p_k
Ent(D)=−k=1∑∣y∣pklog2pk
E
n
t
(
D
)
Ent(D)
Ent(D)的值越小,则D纯度越高
条件熵(Y的信息熵关于概率X的期望)
在已知X后Y的不确定性
H
(
Y
∣
X
)
=
∑
x
p
(
X
)
H
(
Y
∣
X
=
x
)
H(Y|X) = sum_xp(X)H(Y|X=x)
H(Y∣X)=x∑p(X)H(Y∣X=x)
假定离散属性 个可能的取值
a
a
a有
V
V
V个可能的取值
{
a
1
,
a
1
,
.
.
.
,
a
V
}
{a^1,a^1,...,a^V}
{a1,a1,...,aV},
D
v
D^v
Dv表示属性
a
a
a取值为
a
v
∈
{
a
1
,
a
1
,
.
.
.
,
a
V
}
a^vin{a^1,a^1,...,a^V}
av∈{a1,a1,...,aV} 的样本集合,
∣
D
v
∣
D
frac{|D^v|}{D}
D∣Dv∣表示占比,那么在已知属性
a
a
a的取值后,样本集合
D
D
D的条件熵为
−
∑
v
=
1
V
∣
D
v
∣
D
E
n
t
(
D
v
)
-sum_{v=1}^{V}frac{|D^v|}{D}Ent(D^v)
−v=1∑VD∣Dv∣Ent(Dv)
信息增益
信息熵-条件熵
G
a
i
n
(
D
,
a
)
=
E
n
t
(
D
)
−
∑
v
=
1
V
∣
D
v
∣
D
E
n
t
(
D
v
)
Gain(D,a)=Ent(D)-sum_{v=1}^{V}frac{|D^v|}{D}Ent(D^v)
Gain(D,a)=Ent(D)−v=1∑VD∣Dv∣Ent(Dv)
ID3决策树
以信息增益为准则来划分属性的决策树
a
∗
=
arg
max
a
∈
A
G
a
i
n
(
D
,
a
)
a_*= mathop{argmax}limits_{ain{A}}Gain(D,a)
a∗=a∈AargmaxGain(D,a)
C4.5决策树
由于信息增益准则对可能取值数目较多的属性有所偏好,为减少这种偏好带来的不利营销,C4.5使用’‘增益率’‘代替’‘信息增益’‘
增益率
G a i n r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) Gain_ratio(D,a) = frac{Gain(D,a)}{IV(a)} Gainratio(D,a)=IV(a)Gain(D,a)
其中
I
V
(
a
)
=
−
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
l
o
g
2
∣
D
v
∣
∣
D
∣
IV(a) = -sum_{v=1}^{V}frac{|D^v|}{|D|}log_2frac{|D^v|}{|D|}
IV(a)=−v=1∑V∣D∣∣Dv∣log2∣D∣∣Dv∣
但增益率对取值数目较少的属性有所偏好。
因此,C4.5采样启发式的方法,先选出信息熵高于平均水平的属性,再从中选择增益率最高的。
CART决策树
基尼值
从样本集合随机抽两个样本,其类别标记不一致的概率。
G
i
n
i
(
D
)
=
∑
k
=
1
∣
y
∣
∑
k
′
≠
k
p
k
p
k
′
=
∑
k
=
1
∣
y
∣
p
k
(
1
−
p
k
)
=
1
−
∑
k
=
1
∣
y
∣
p
k
2
Gini(D)=sum_{k=1}^{|y|}sum_{k^{'}neq{k}}p_kp_{k^{'}}\=sum_{k=1}^{|y|}p_k(1-p_k)\=1-sum_{k=1}^{|y|}p_k^2
Gini(D)=k=1∑∣y∣k′=k∑pkpk′=k=1∑∣y∣pk(1−pk)=1−k=1∑∣y∣pk2
基尼指数
Gini_index ( D , q ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ (D,q) = -sum_{v=1}^{V}frac{|D^v|}{|D|} (D,q)=−∑v=1V∣D∣∣Dv∣Gini ( D v ) (D^v) (Dv)
剪枝
预剪枝
计算每次分裂在验证集的准确性是否有提升,当不再提升或有所下降时,停止生长。
优点
思想简单,算法高效,采用了贪心的思想,适合大规模问题。
缺点
提前停止生长,有可能存在欠拟合的风险
后剪枝
将树上的每个节点都作为剪枝的候选对象,通过如下步骤进行剪枝操作:
step1:删除以此节点为根节点的树,
step2:使其成为叶子结点,赋予该节点最常见的分类
step3:对比删除前和删除后的性能是否有所提升,如果有则进行删除,没有则保留
连续值与缺失值处理
连续值
将连续数据按从小到大排序,以步长n从左到右移动,分割线左边为类别1,分割线右边为类别2,分别计算每次的信息增益。选取信息增益最大的为划分节点。
缺失值
通过无缺失值项的数据计算数据集的熵,依次计算每一个特征的熵值(去掉缺失值项计算)并计算信息增益,在信息增益前乘以一个比例(无缺失值条数/总数据量)得到最终信息增益。选择信息增益最大的一个特征进行决策树构造,缺失值数据分别以(选取特征中,未缺失数据量/总数据量)的比例进入每一个子结点。
参考
周志华,机器学习,清华大学出版社,2016
https://www.bilibili.com/video/BV1Mh411e7VU?p=6&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=ae6a9270751fdffac8724e71e288e0ec
《机器学习公式详解》
最后
以上就是专注超短裙为你收集整理的吃瓜笔记task3第四章 决策树的全部内容,希望文章能够帮你解决吃瓜笔记task3第四章 决策树所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复