决策树算法

1. 决策树算法简介

决策树思想来源非常朴素,程序设计中的条件分支结构就是if-else结构,最早的决策树就是利用这类结构分割数据的一种分类方法。
决策树:是一种树形结构,每个节点表示一个属性上的判断,每个分支代表一个输出的判断结果,最后每个叶子结点代表分类结果,本质是一颗由多个判单节点组成的树。

2. 决策树分类原理

2.1 熵

2.1.1 概念

物理学上,熵Entropy是“混乱”程度的度量。
系统越有序,熵值越低;系统越混乱,熵值越高。

  • 信息理论:
  1. 从信息的完整性上进行描述:
    当系统的有序状态一致时,数据越集中的地方熵值越小,数据越分散的地方熵值越大
  2. 从信息的有序上进行描述:
    当数据量一致时,系统越有序,熵值越低,系统越混乱或者越分散,熵值越高。
    信息熵(Entropy)
    捕获.PNG

2.2 决策树的划分依据——信息增益

2.2.1概念

信息增益:某特征划分数据集前后的熵的差值。熵可以表示样本合集的不确定性,熵越大,样本的不确定性越大。
因此,使用划分前后集合熵的差值来衡量使用当前特征对于样本集合D划分效果的好坏。
信息增益 = entroy(前)-entroy(后)

捕获.PNG

2.3 决策树的划分依据二——信息增益率

增益率:增益比率是用前面的增益度量Gain(S,A)和所分离信息度量SplitInformation的比值来共同定义的。

2.4 决策树的划分依据三——基尼值和基尼指数

2.4.1 概念

基尼值
基尼指数:一般,选择使划分后基尼指数最小的属性作为最优划分属性。基尼指数最大的属性为决策树的根节点属性。

3 常见决策树类型比较

3.1 ID3决策树算法

存在的缺点
(1)在选择根节点和各内部节点中的分支属性时,采用信息增益作为评价标准。信息增益的缺点是倾向于选择取值较多的属性,在有些情况下这类属性可能不会提供太多有价值的信息。
(2)只能对描述属性为离散型属性的数据集构造决策树。

3.2 C4.5决策树算法

改进
(1)用信息增益率来选择属性
(2)可以用来处理连续数值型属性
(3)采用了一种后剪枝方法
(4)对于缺失值的处理
优点
产生的分类规则易于理解,准确率较高。
缺点
在构造的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法低效。只适用于能够存储在内存中的数据量,当训练集大到内存中无法容纳时,该算法失效

3.3 CART决策树算法

采用简化的二叉树模型,同时特征选择采用近似的基尼指数。

3.3.1 常用剪枝方法

  1. 预剪枝
    (1)每个节点所包含的最小样本数目,例如,当节点样本总数小于10时,则不再分。
    (2)指定树的高度或者深度,例如树的最大深度为4.
    (3)指定节点的熵小于某个值,不再划分。随着树的增长,在训练集上的精度是单调上升的,然而在独立的测试样例上测出的精度先上升后下降。
    2.后剪枝
    (1)后剪枝,在已生成过拟合决策树上进行剪枝,可以得到简化版的剪枝决策树。

4.思考

4.1 决策树构建方法

  1. 开始将所有记录看成一个节点
  2. 遍历每个变量的每一种分割方式,找到最好的分割点
  3. 分割成两个节点N1和N2
  4. 对N1和N2分别继续执行2-3步,知道每个节点足够优秀为止
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 基本概念 决策树(decision tree)是一种常见的机器学习方法,它是基于树结构来进行决策的,这恰是人类在面...
    司马安安阅读 1,595评论 0 3
  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 6,080评论 0 25
  • ID3和C4.5决策树算法总结及其ID3Python实现 1.决策树的算法流程 决策树的算法流程主要是:1.如果当...
    小小少年Boy阅读 2,422评论 0 5
  • 0x01 概述 决策树是附加概率结果的一个树状的决策图,是直观的运用统计概率分析的图法。机器学习中决策树是一个预测...
    Pino_HD阅读 1,518评论 0 0
  • 遇路人甲 她嘴角微翘 轻轻的漫步在这个秋日的小道上 鞋面上没有丝毫的尘 纯白的鞋带显出很夺目 这是一个单纯的女孩吧...
    躺在屋顶看星星阅读 286评论 0 0

友情链接更多精彩内容