决策树一

Posted 越泽

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了决策树一相关的知识,希望对你有一定的参考价值。

 

决策树是一种对样本进行划分的机器学习算法,其要点在于最优特征的选取,决策树生成与剪枝,决策树的生成是个递归过程,其中有三种情况会导致递归返回:

①当前节点所属样本属于同一类而不需要划分;

②所有样本在所有属性上取值相同而不能划分;

③当前没有所属样本

 

对于属性的选取主要有三种方法:

一. 基于信息增益的选取划分方法,对应于ID3决策树学习算法

信息熵的定义如下:

\[H(X) = - \sum\limits_{i = 1}^n {{p_i}} \times {\log _2}{p_i}\] 

其中Pi为X取值Xi时的概率,在分类中就对应于样本分类结果占总样本的比重

信息增益定义如下:

\[G(D) = H(D) - \sum\limits_{i = 1}^N {\frac{{{D_i}}}{D}} H({D_i})\]

H(D)为样本集的信息熵,i为属性可能的取值,\[{\frac{{{D_i}}}{D}}\]为该属性取值占总样本的比重,

\[H({D_i})\]为该属性取值的信息熵

该选取方法要求计算每个属性的信息增益,然后选取信息增益最大的属性作为划分属性,如果有多个属性同时取得最大增益,则可任选其一作为划分属性,之后再对分支重复上述划分操作,最终生成决策树

二. 基于增益率的划分方法,对应于C4.5算法

\[{G_r}(D,a) = \frac{{G(D,a)}}{{H(D)}}\]

其中

\[H(D) =  - \sum\limits_{v = 1}^V {\frac{{{D_v}}}{D}} {\log _2}\frac{{{D_v}}}{D}\]

Dv/D为属性a取值所属样本占总样本的比重

C4.5算法是从待选属性中选出信息增益高于平均水平的属性,再从中选出增益率最大的最为划分属性

三. 基于基尼指数的划分方法,对应于CART算法

数据集的纯度可以用基尼值来衡量,基尼值定义如下:

\[Gini(D) = 1 - \sum\limits_{K = 1}^y {p_k^2} \]

基尼值越小,属性的纯度越高

基尼指数定义如下:

\[Gini\_index(D,a) = \sum\limits_{v = 1}^V {\frac{{{D^v}}}{D}} Gini({D^v})\]

选择基尼指数最小的属性作为优先划分属性

 

决策树在训练过程中可能会产生过拟合问题,解决这个问题的办法是进行剪枝处理,剪枝有二种方法:

一.预剪枝

即在生成决策树的过程中,划分节点前评估该节点的划分能不能带来泛化能力的提升,能则划分,不能则不进行划分

二. 后剪枝

生成决策树后,自底向上进行考察,把非叶节点替换为叶节点能不能带来泛化能力的提升,能则进行替换

以上是关于决策树一的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 - 决策树(分类)

大数据项目8(sklearn决策树)

数据结构 - 决策树(分类)

机器学习——决策树

sklearn实践:决策树

李航统计学习方法(第二版):决策树简介