标签:属性 time 多个 处理 剪枝 数据集 概率 决策 c4.5
决策树是一种对样本进行划分的机器学习算法,其要点在于最优特征的选取,决策树生成与剪枝,决策树的生成是个递归过程,其中有三种情况会导致递归返回:
①当前节点所属样本属于同一类而不需要划分;
②所有样本在所有属性上取值相同而不能划分;
③当前没有所属样本
对于属性的选取主要有三种方法:
一. 基于信息增益的选取划分方法,对应于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})\]
选择基尼指数最小的属性作为优先划分属性
决策树在训练过程中可能会产生过拟合问题,解决这个问题的办法是进行剪枝处理,剪枝有二种方法:
一.预剪枝
即在生成决策树的过程中,划分节点前评估该节点的划分能不能带来泛化能力的提升,能则划分,不能则不进行划分
二. 后剪枝
生成决策树后,自底向上进行考察,把非叶节点替换为叶节点能不能带来泛化能力的提升,能则进行替换
标签:属性 time 多个 处理 剪枝 数据集 概率 决策 c4.5
原文地址:http://www.cnblogs.com/yueze/p/6146881.html