机器学习-决策树最优类别属性选择的三个方法
Posted zzy0471
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习-决策树最优类别属性选择的三个方法相关的知识,希望对你有一定的参考价值。
本文所用符号:
- (D):所有样本,如《西瓜书》中所有的西瓜样本
- (a):用来划分样本的类别属性,a有V个可取值{(a^1,a^2 dots , a^V)},如若用a表示“色泽”,则a的取值是{(a^1=青绿,a^2=乌黑,a^3=浅白)},此时(V=3)
- (D^v):用a对样本D进行划分后属于(a^v)的样本子集
- (|y|):(y)属性可取个数,下文中用y表示模型最终划分的结果集,如西瓜书中的{好瓜,坏瓜}
信息增益
使用信息熵[Ent(D)=-sum_{k=1}^Vp_klog_2p_k]度量样本合集纯度,(Ent(D))越大,纯度越低。用a对样本分类后,信息增益
[Gain(D,a)=Ent(D)-sum_{v=1}^V frac{|D^v|}{|D|}Ent(D^v)]越大说明使用a作为划分类别对样本划分后纯度提高越多,其中(sum_{v=1}^V frac{|D^v|}{|D|}Ent(D^v))表示划分后的每个子集的信息熵的加权和。 选择使信息增益最大化的划分类别如a对样本进行第一次划分后,形成v个子样本:{(D^1,D^2 cdots,D^v)},再对每个子样本用相同的方法继续划分即可,如对(D^1)划分:选择除a之外的类别属性b和c,分别计算(Gain(D^1,b))和(Gain(D^1,c)),最后选择使结果值较大的类别属性进行划分。使用信息增益法划分子集的算法叫做ID3决策树算法。
增益率
信息增益法对可取值较多的类别划分属性有所偏好,可能影响模型的泛化能力,C4.5决策树算法中使用“增益率”选择最优划分属性。增益率定义:[gain_ratio(D,a)=frac{Gain(D,a)}{IV(a)}],其中[IV(a)=-sum_{v=1}^Vfrac{|D^v|}{|D|}log_2frac{|D^v|}{|D|}],为什么分母是这样子?希望有时间能看下《信息论》,但是可以粗浅地看出,a的取值可能性越多,(IV(a))越大(假设a只有一个取值,那么IV(a)为0;取两个值且各占一半,IV(a)为 (-log_2frac{1}{2});取三个值且各占三分之一,IV(a)为(-log_2frac{1}{3})),正好起到调停作用。
增益率对可取值数量较小的类别属性有所偏好,实际计算中,先选出信息增益高于平均值的若干个类别属性,然后再从中选择增益率较高的属性作为分类属性
基尼指数
CART决策树算法使用基尼指数,其定义为:[Gini(D)=sum_{k=1}^{|y|}sum_{k' eq k} p_kp_{k'}=1-sum_{k=1}^{|y|}p_k^2],基尼指数表示从D中随机取出两个样本其标记不一致的概率,此概率越低,说明纯度越高。
类别属性a的基尼指数定义为[Gini_index(D,a)=sum_{v=1}^Vfrac{|D^v|}{|D|}Gini(D^v)],选择基尼指数最小的属性作为划分属性。
参考:
- 《机器学习》周志华著
- 《机器学习工程师》网易云课堂出品
以上是关于机器学习-决策树最优类别属性选择的三个方法的主要内容,如果未能解决你的问题,请参考以下文章