一、基本流程
三种停止条件:
- 当前结点包含的样本全属于同一类别,无需划分
- 当前属性集为空,或是所有样本在所有属性上取值相同,无法划分
- 当前结点包含的样本集合为空,不能划分
二、划分选择
2.1 信息增益
- 信息熵
是度量样本集合“纯度”最常用的一种指标。
假定当前样本集合D中第k类样本所占的比例为 p k p_{k} pk,则D的信息熵定义为E n t ( D ) = − ∑ k = 1 ∣ y ∣ p k log 2 p k Ent(D)=-\sum\limits_{k=1}^{|y|}p_{k}\log_{2}{p_{k}} Ent(D)=−k=1∑∣y∣pklog2pk
E n t ( D ) Ent(D) Ent(D)的值越小,则D的纯度越高。
- 信息增益
离散属性a的取值:{ a 1 , a 2 … , a V a^{1},a^{2}…,a^{V} a1,a2…,aV}
D v D_{v} Dv:D中在a上取值= a v a^{v} av的样本集合
以属性a对数据集D进行划分所获得的信息增益为:G a i n ( D , a ) = E n t ( D ) − ∑ k = 1 V ∣ D v ∣ ∣ D ∣ E n t ( D v ) Gain(D,a)=Ent(D)-\sum\limits_{k=1}^{V}\frac{|D^{v}|}{|D|}Ent(D^{v}) Gain(D,a)=Ent(D)−k=1∑V∣D∣∣Dv∣Ent(Dv)
2.2 增益率
利C4.5决策树算法用增益率来选择最优划分属性
增益率:
其中
属性a的可能取值数目越多则
I
V
(
a
)
IV(a)
IV(a)的值通常越大。
启发式:先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。
2.3 基尼指数
CART决策树使用基尼指数选择划分属性
基尼值:
属性a的基尼指数:
在候选属性集合中,选取那个使划分后基尼指数最小的属性。
三、剪枝处理
- 预剪枝:提前终止某些分支的生长
- 后剪枝:生成一棵完全树,再回头剪枝
比较:
-
时间开销:
预剪枝:训练时间开销降低,测试时间开销降低
后剪枝:训练时间开销增加,测试时间开销降低 -
过/欠拟合风险:
预剪枝:过拟合风险降低,欠拟合风险增加
后剪枝:过拟合风险降低,欠拟合风险基本不变 -
泛化性能:
后剪枝通常优于预剪枝
四、连续与缺失值
4.1 连续值处理
- 连续属性离散化
n个属性值可形成n-1个候选划分,然后将他们当做n-1个离散属性值处理
4.2 缺失值处理
- 样本赋权,权重划分
参考文献:
《机器学习》第四章决策树——周志华