文章目录
递归终止条件
决策树使用递归实现,而递归终止条件有以下三种:
- 当前结点所有样本属于同类,无需划分
- 当前属性集为空,无法划分,选取此节点中数量更多的标记作为类别标记
- 当前样本集为空,不能划分,依据父节点中数量更多的标记作为类别标记
名词概念
1.纯度:同类聚集程度高、不同类越分散,则纯度越高
2.信息熵:纯度的量化指标,来源于信息论
3.剪枝:防止决策树过拟合,减去部分划分属性。分为预剪枝和后剪枝
信息熵
信息熵计算公式:
E
n
t
(
D
)
=
−
∑
k
=
1
∣
y
∣
p
k
log
2
p
k
E n t ( D ) = - \sum _ { k = 1 } ^ { | y | } p _ { k } \log _ { 2 } p _ { k }
Ent(D)=−k=1∑∣y∣pklog2pk
信息熵用于衡量信息的不确定性或信息的混乱程度,我们可以将其用于量化纯度
信息熵越大,数据分布越均匀、随机、杂乱无章,明显这不是我们想要的。
我们想要的是相同类靠近,不同类远离的效果,即需要越小的信息熵
p k p_k pk表示选到k类别的概率,而 − log 2 p k -\log _ { 2 } p _ { k } −log2pk则表示信息量
我们可以理解对于某一事件,其发生的概率越小,那么其信息量越大;发生的概率越大,那么其信息量越小。所有对两者求期望即得到信息熵。
注意:此处计算公式里的Y的输出值种类,如二分类问题中Y=2
划分选择
决策树中最重要的部分,用于选择最佳划分属性
1.信息增益(Information Gain)
计算某属性的信息增益,用根节点的信息熵-属性各个属性值的信息熵的加权平均值
信息增益越大,意味着使用属性a进行划分获得的纯度提升越大
G
a
i
n
(
D
,
a
)
=
E
n
t
(
D
)
−
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
E
n
t
(
D
v
)
Gain ( D , a ) = E n t ( D ) - \sum _ { v = 1 } ^ { V } \frac { | D ^ { v } | } { | D | } E n t ( D ^ { v } )
Gain(D,a)=Ent(D)−v=1∑V∣D∣∣Dv∣Ent(Dv)
2.增益率(Gain Ratio)
由于信息增益对于取值数目较多的属性有所偏好,所以引进增益率进行选择最优划分属性,比如著名的C4.5决策树算法
当属性a的可能取值数目越多时(即V越大),IV(a)越小,相应的增益率就越大
我们可以这样理解,IV(a)计算的其实就是信息熵,当属性值数目越多时,样本分类就越多且彼此之间就越分散越混乱,而我们希望分类效果越好,就需要减少属性值可能取值个数。
G
a
i
n
R
a
t
i
o
(
D
,
a
)
=
G
a
i
n
(
D
,
a
)
I
V
(
a
)
Gain \space R a t i o ( D , a ) = \frac { G ain( D , a ) } { I V ( a ) }
Gain Ratio(D,a)=IV(a)Gain(D,a)
I
V
(
a
)
=
−
∑
v
V
∣
D
v
∣
D
log
2
∣
D
v
∣
D
I V ( a ) = - \sum _ { v } ^ { V } \frac { | D ^ { v } | } { D } \log _ { 2 } \frac { | D ^ { v } | } { D }
IV(a)=−v∑VD∣Dv∣log2D∣Dv∣
思考🤔:
增益率可以减少 信息增益对于属性值较多的属性有所偏好 的问题,
但是同样的,增益率对于属性值较少的属性有所偏好
所以实际处理时,对于不同的属性的划分选择可以采取不同的方法,但是在同一层属性划分选择时只能使用同一种方法。
3.基尼指数(Gini Index)
含义:反映从数据集中随机抽取两个样本,其类别标记不一致的概率
用于CART决策树,既可以用于分类问题,也可以用于回归问题
基尼指数越小,则数据集纯度越高
G
i
n
i
(
D
)
=
1
−
∑
k
=
1
∣
y
∣
p
k
2
G i n i ( D ) = 1 - \sum _ { k = 1 } ^ { | y | } p _ { k } ^ { 2 }
Gini(D)=1−k=1∑∣y∣pk2
G
i
n
i
I
n
d
e
x
(
D
,
a
)
=
∑
v
=
1
V
∣
D
v
∣
∣
D
∣
G
i
n
i
(
D
v
)
G i n i \space I n d e x ( D , a ) = \sum _ { v = 1 } ^ { V } \frac { | D ^ { v } | } { | D | } G i n i ( D ^ { v } )
Gini Index(D,a)=v=1∑V∣D∣∣Dv∣Gini(Dv)
剪枝(Pruning)
为了防止决策树模型过拟合而采取的手段
分为预剪枝与后剪枝两种方法
PS:需要先选定 评估方法和性能度量(第二章知识内容)
下列假设使用留出法,以精度为性能度量
预剪枝(Prepruning)
运用贪心思想,可能有弊端
在建立决策树的过程中进行剪枝,代入测试数据
将 当前精度 与 增加划分属性后的精度 进行比较,
判断是否需要增加划分属性
后剪枝 (Postpruning)
在决策树建立完成后进行剪枝,代入测试数据
将 当前精度 与 把该结点属性变成叶子节点后的精度 进行比较
判断是否需要剪去不要的树枝
优点:欠拟合风险小,泛化性能较好