机器学习笔记 - 决策树最优划分属性选择
2017-02-15 21:52
267 查看
由决策树算法可知, 其关键点在于如何选择最优划分属性, 一般而言, 随着划分过程不断进行, 我们希望形成纯度高的分支节点和叶结点.
Ent(D)=−∑k=1γpklog2pk
熵越小, 则样本集合纯度越高, 以信息论的角度看, 也就是信息量越小.
假定离散属性a有V个可能的取值 {a1,a2,...,av}, 使用a来对样本集合D进行划分, 产生V个分支节点. 其中第v个分支节点包含D中所有取值为av的样本, 记为Dv. 我们可以根据上面的公式计算Dv的信息熵, 于是可以计算用属性a划分的信息增益, 计算方法为:
Gain(D,a)=Ent(D)−∑v=1V|Dv||D|Ent(Dv)
信息增益越大, 也就是使用属性 a划分所获得纯度提升越大, 因此我们可以用信息增益来决定决策树的划分属性. 这就是著名的ID3决策树学习算法(Iterative Dichotomiser 3).
Gain_ratio(D,a)=Gain(D,a)IV(a)
IV(a)=−∑v=1V|Dv||D|log2|Dv||D|
这就是C4.5决策树学习算法.
Gini(D)=∑k=1γ∑r!=kpkpr=1−∑k=1γp2k
则属性a划分后的基尼指数为
Gini_index(D,a)=∑v=1VGini(Dv)
最优划分属性 a=argmin(Gini_index(D,a)),a∈A
这就是CART决策树算法
这里是一个简单的实现:
https://github.com/volvet/MLInAction/tree/master/DecisionTrees
Machine Learning in Action - Peter Harington
信息增益
信息熵可以用来衡量样本集合纯度. 假定 样本集合D, 其中第k类样本所占比例为pk(k=1,2,...,γ), 则D的熵为Ent(D)=−∑k=1γpklog2pk
熵越小, 则样本集合纯度越高, 以信息论的角度看, 也就是信息量越小.
假定离散属性a有V个可能的取值 {a1,a2,...,av}, 使用a来对样本集合D进行划分, 产生V个分支节点. 其中第v个分支节点包含D中所有取值为av的样本, 记为Dv. 我们可以根据上面的公式计算Dv的信息熵, 于是可以计算用属性a划分的信息增益, 计算方法为:
Gain(D,a)=Ent(D)−∑v=1V|Dv||D|Ent(Dv)
信息增益越大, 也就是使用属性 a划分所获得纯度提升越大, 因此我们可以用信息增益来决定决策树的划分属性. 这就是著名的ID3决策树学习算法(Iterative Dichotomiser 3).
增益率
使用信息增益进行决策树划分, 会偏好可取值数目多的属性, 可能导致决策树泛化能力弱, 为了解决这个问题, 引入了增益率, 其定义如下:Gain_ratio(D,a)=Gain(D,a)IV(a)
IV(a)=−∑v=1V|Dv||D|log2|Dv||D|
这就是C4.5决策树学习算法.
基尼指数
数据集的纯度也可以用基尼指数来度量:Gini(D)=∑k=1γ∑r!=kpkpr=1−∑k=1γp2k
则属性a划分后的基尼指数为
Gini_index(D,a)=∑v=1VGini(Dv)
最优划分属性 a=argmin(Gini_index(D,a)),a∈A
这就是CART决策树算法
这里是一个简单的实现:
https://github.com/volvet/MLInAction/tree/master/DecisionTrees
Reference
机器学习 - 周志华 清华大学出版社Machine Learning in Action - Peter Harington
相关文章推荐
- 机器学习笔记(XI)决策树(I)基本流程和划分选择
- 统计学习方法第五章决策树的选择最优特征划分例5-1-5.2代码实践
- IOS学习笔记之属性方法的选择
- IOS学习笔记之属性方法的选择
- iOS笔记:属性方法的选择
- MFC个人笔记--创建属性表,并通过文件操作,保存属性表中用户的选择 的步骤
- MFC个人笔记--创建属性表,并通过文件操作,保存属性表中用户的选择 的步骤
- 阅读笔记-机器学习-第3章-决策树学习
- 机器学习笔记(三)——决策树
- 机器学习实战笔记3(决策树与随机森林)
- 机器学习之模型评估与模型选择(学习笔记)
- 机器学习实战之决策树(2)---选择最好的特征来划分数据集
- IOS学习笔记之属性方法的选择
- 【机器学习-斯坦福】学习笔记9 规则化和模型选择(Regularization and model selection)
- 【机器学习-斯坦福】学习笔记7 - 最优间隔分类器问题
- CSS3学习笔记 之 属性选择器
- jquery笔记-属性选择器
- 【机器学习-斯坦福】学习笔记7 - 最优间隔分类器问题
- JQUERY1.9学习笔记 之属性选择器(一) 前缀选择器
- CSS3学习笔记之属性选择器(下)