机器学习笔记(XI)决策树(I)基本流程和划分选择

来源:互联网 发布:投资返利源码 编辑:程序博客网 时间:2024/06/05 11:50

基本流程

决策树

一般的,一棵决策树包括包含一个根结点,若干个内部结点和若干个叶结点。

根结点

包括样本全集
从根结点到每个叶子结点的路径对应一个判定测试序列。

内部结点

一个测试属性

叶结点

决策结果

目的

产生一棵泛化能力强的,处理未预见示例能力强的决策树,基本流程遵循简单且直观“分而治之”(divide-and-conquer)

基本算法

这里写图片描述

算法中的三种递归返回(三个return)

1:当前结点包含的样本全属于同一类别,无需再划分
2:当前属性集为空,或是所有样本在所有属性取值相同,无法划分。(此时:把当前结点标记为叶子节点,将其类别设定为该结点所含样本最多的类别,利用当前结点后验分布)
3:当前结点包含样本集合为空,不能划分(此时:同样把当前结点标记为叶子结点,但是其类别是父结点所含样本最多的类别,把父结点的样本分布作为当前结点的先验分布)

划分选择

信息增益

信息熵(information entropy)

作用:度量样本集合纯度的最常用的一种指标
假定当前样本集合D中第k类样本所占的比例为pk(k=1,2,,|Y|),则D的信息熵定义为

Ent(D)=k=1|Y|pklog2pk(entropy)

Ent(D), 纯度(purity)

信息增益

假定离散属性aV个可能的取值{a1,a2,,aV},如果使用a来对样本集D进行划分,则会产生V个分支结点,其中第v个分支结点包含了D中所有在属性a上取值为av的样本,记为Dv
计算Dv的信息熵,考虑到不同结点的样本数不同,给分支结点赋予权重|Dv||D|即样本数越多的分支结点的影响越大。
定义信息增益

Gain(D,a)=Ent(D)k=1|Y||Dv||D|Ent(Dv)

作用

一般而言,信息增益越大,则意味着使用属性a来划分所得到的”纯度提升”越大。

不同的算法,不同的a

ID3

a=argmaxaAGain(D,a)

C4.5

增益率

Gain_ratio(D,a)=Gain(D,a)IV(a)

其中
IV(a)=v=1V|Dv||D|log2|Dv||D|

决策方法

从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

CART

基尼指数

基尼值Gini(D)

Gini(D)=k=1|Y|kkpkpk=1k=1|Y|p2k

Gini(D)反映了从数据集D中随机抽取两个样本,其类别标记不一致的概率,因此Gini(D)越小,数据集D的纯度越高

基尼指数

Gini_index(D,a)=v=1V|Dv||D|Gini(Dv)

决策方法

a=argminaAGini_index(D,a)

原创粉丝点击