机器学习与数据挖掘

决策树算法核心理论知识解析

2020-05-29  本文已影响0人  四毛m
  • 决策树算法利用非度量(nunmetric)的方式进行一系列的查询问答来判断和分类,被广泛用于分类和回归模型,三种最常用的实现算法是CART、ID3、C4.5。
  • 对于同一个数据集,特征和节点可以有多种组合方式,实际上可以生成很多决策树。我们运用决策树算法是希望从中找出最合适的树,因此算法的目标是在合适的节点上放入合适的特征。
image.png

决策树构成

1.算法优缺点

优点

缺点

2.算法核心问题

2.1.分支数量和叶节点标记

2.2.节点选取和不纯度

  • 在构建模型时,我们希望节点数据尽可能地“纯”,这样就可以停止分叉。因此,我们定义了一个“不纯度(impurity)”指标,并选择能够使不纯度下降最快的特征做分支。
  • 不纯度用i(N)表示节点N的不纯度。当所有数据均属于同一类别时,i(N)=0。常见的不纯度测量函数有3个,分别是熵不纯度(entropy impurity)、Gini不纯度(Gini Index)、方差不纯度、误分类不纯度((Classification error),其中普遍采用的是前两种。

1)熵不纯度

2)方差不纯度

3)Gini不纯度

4)误分类不纯度

5)不纯度变化量

二叉树(即二分支):

多叉树(即多重分支):

6)不纯度知识总结

1.我们通过不纯度测量选择最合适的分支特征,最常用的测量函数是基于信息加权的熵不纯度和基于随机选取误差率的Gini不纯度。
2.不管用哪种不纯度测量函数,最终我们的目的是计算和比较各个特征的不纯度变化量,选择变化量最大的特征做分支。
3.实践中发现选择不同形式的不纯度函数对最终分类效果及性能影响很小,切勿纠结于此!

2.3.停止分支准则

  • 如果我们持续生长树,直到所有的叶节点都达到最小的不纯度,则数据可能会“过拟合”。
  • 为防止过拟合,我们可以使用停止分支准则来控制树的生长,常见的做法有:
    1.控制验证集或交叉验证的分类误差:持续分支直至分类误差最小化
    2.设定不纯度变化量的阈值:当不纯度变化量低于阈值时,停止分支
    3.分析不纯度变化量的统计显著性:当不纯度下降统计不显著,停止分支

1)验证集或交叉验证

2)设定不纯度变化阈值

3)不纯度变化量的统计显著性分析

2.4.剪枝技术(pruning)

  • 因为停止分支准则是从树的根节点开始优化,在节点N处进行的最优分支决策不会考虑对其下面一层的节点的影响。因此,有时候,分支会因为缺少足够的前瞻性而过早停止,称为“视界局限效应”。
  • 剪枝技术和停止分支准则不同的是:它允许树先充分生长直到叶节点都有最小的不纯度,从而克服视界局限效应;然后再考虑是否消去相邻的叶子或子树。
  • 简而言之,停止分支准则是在树还是“树苗”的时候就控制它是否继续生长;而剪枝技术则等树长成“参天大树”之后再慢慢修剪。因此,它们也被称为“预剪枝”技术和“后剪枝”技术。

1)剪枝技术优缺点

2)剪枝类型

  • 综上所述,我们在进行决策树模型优化时,可从停止分支和剪枝等方面进行优化。
  • 一般来说,对于小样本的数据集,由于计算代价小,剪枝方法优于分支停止方法。

2.5.特征处理

1)连续值处理

2)缺失值处理

3.常用树算法

在这里,我们介绍3种最常用的决策树算法:CART、ID3、C4.5

3.1.CART算法

  • CART算法是一种二分递归分割技术,把当前样本划分为两个子样本,使得生成的每个非叶子结点都有两个分支, 因此CART算法生成的决策树是结构简洁的二叉树(binary tree)。
  • 二叉树的分支率(branching ratio)为2,每一步的决策时只能是“是”或者“否”,即使一个特征有多个取值,也是把数据分为两部分。任何一个具有任意分支率的树都可以用二叉树表示。
image.png

1)CART的优缺点

优点

缺点

3.2.ID3算法

  • ID3最早的设计意图是用于处理“语义(无序)数据”的,因此,对于它并不能直接处理数值连续变量,但它开创了使用熵来度量不纯度的先河,率先对信息进行了加权计算。
  • 当然,作为一个创新的算法,有着很多的不足。

1)ID3的不足

3.3.C4.5算法

C4.5是ID3的作者改良后的版本,它解决了ID3的不足,包括连续变量的处理、剪枝技术等。

1)C4.5的不足

3.4.算法比较

image.png

对这三个算法感兴趣想要进一步了解的童鞋可以看一下这位博主的文章,写得非常详细:
1.《决策树算法原理(上)》https://www.cnblogs.com/pinard/p/6050306.html
2.《决策树算法原理(下)》https://www.cnblogs.com/pinard/p/6053344.html

THE END

上一篇下一篇

猜你喜欢

热点阅读