相关文章链接:

机器学习——人工神经网络(NN)

机器学习——卷积神经网络(CNN)

机器学习——循环神经网络(RNN)

机器学习——长短期记忆(LSTM)

机器学习——决策树(decision tree)

机器学习——随机森林(Random forest)

机器学习——梯度提升决策树(GBDT)

机器学习——XGboost模型

一、什么是决策树/判定树(decision tree)

为达到目的根据一定的条件进行选择的过程就是决策树是基于树形结构利用信息学中熵的概念构建出的监督学习算法模型利用决策树可以解决基本的分类和回归问题

决策树算法在树形结构的基础上直接模仿现实生活中人类做决策的过程医学诊断商业决策等

构成决策树的元素是节点和边节点会根据样本的特征作出判断最初的分支点称为根节点其余的被称为子节点不再有分支的节点则被称为叶子节点这些节点代表了样本的分类结果边则指示着方向

二、决策树的构造

为了构造决策树人们找到了一个衡量标准在热力学中熵被用来描述一个系统内在的混乱程度在决策树中熵代表分支样本种类的丰富性样本中种类越多越混乱熵就越大如果分支下的样本完全属于同一类熵就等于0.

条件熵 H ( Y ∣ X ) H(Y|X) H(Y∣X)表示在已知随机变量X的条件下随机变量Y的不确定性,随机变量X给定的条件下随机变量Y的条件熵(conditional entropy) H(Y|X),定义X给定条件下Y的条件概率分布的熵对X的数学期望:

其中

构建树的基本思路是随着树的深度也就是层数的增加让熵快速降低熵降低的速度越快代表决策树的分类效率越高

递归构建决策树

得到原始数据集,然后基于最好的属性值划分数据集,由于特征值可能多于两个,因此可能存在大于两个分支的数据集划分,第一次划分之后,数据将被向下传递到树分支的下一个节点,在此节点在此划分数据,因此可以使用递归的原则处理数据集。

递归结束的条件

程序完全遍历所有划分数据集的属性,或者每个分支下的所有实例都具有相同的分类,如果所有实例具有相同的分类,则得到一个叶子节点或者终止块,任何到达叶子节点的数据必然属于叶子节点的分类。

决策树学习的3个步骤

1、特征选择

特征选择决定了使用哪些特征来做判断。在训练数据集中,每个样本的属性可能有很多个,不同属性的作用有大有小。因而特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。

特征选择的目的是选取能够对训练集分类的特征。特征选择的关键是准则:信息增益、信息增益比、Gini 指数

2、决策树生成

选择好特征后,就从根节点触发,对节点计算所有特征的选择合适特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点

通常是利用信息增益最大、信息增益比最大、Gini 指数最小作为特征选择的准则。从根节点开始,递归的生成决策树。相当于是不断选取局部最优特征,或将训练集分割为基本能够正确分类的子集;

3、决策树剪枝

剪枝(pruning):从已经生成的树上裁掉一些子树或叶节点,并将其根节点或父节点作为新的叶子节点,从而简化分类树模型。剪枝的主要目的是对抗“过拟合”,通过主动去掉部分分支来降低过拟合的风险。包括预剪枝和后剪枝。

预剪枝是在训练开始前规定条件树达到某一深度就停止训练

后剪枝树先找到树再根据一定条件去掉一部分分支限制叶子节点的个数

总结

在一棵决策树中 1、将面临的因素也就是问题的特征构建为树的内部节点

   2、因素的特征值均构建为该因素特征节点中的分支指针

   3、最终的类别结果树树的叶子节点

这样就构成了一棵决策树

三、决策树的优缺点

优点

  1. 易于理解和解释决策树可以可视化
  2. 几乎不需要数据预处理决策树不支持缺失值
  3. 可以同时处理数值变量和分类变量。其他方法大都适用于分析一种变量的集合
  4. 可以处理多值输出变量问题
  5. 使用白盒模型。如果一个情况被观察到,使用逻辑判断容易表示这种规则。相反,如果是黑盒模型(例如人工神经网络),结果会非常难解释

缺点

  1. 决策树学习可能创建一个过于复杂的树,并不能很好的预测数据。也就是过拟合。修剪机制,设置一个叶子节点需要的最小样本数量,或者数的最大深度,可以避免过拟合。
  2. 决策树可能是不稳定的,因为即使非常小的变异,可能会产生一颗完全不同的树。这个问题通过decision trees with an ensemble来缓解。
  3. 学习一颗最优的决策树是一个NP-完全问题under several aspects of optimality and even for simple concepts。因此,传统决策树算法基于启发式算法,例如贪婪算法,即每个节点创建最优决策。这些算法不能产生一个全家最优的决策树。对样本和特征随机抽样可以降低整体效果偏差。
  4. 如果某些分类占优势,决策树将会创建一棵有偏差的树。因此,建议在训练之前,先抽样使样本均衡。

机器学习——决策树(decision tree)相关推荐

  1. 机器学习决策树_机器学习-决策树 Decision Tree

    咱们正式进入了机器学习的模型的部分,虽然现在最火的的机器学习方面的库是Tensorflow, 但是这里还是先简单介绍一下另一个数据处理方面很火的库叫做sklearn.其实咱们在前面已经介绍了一点点sk ...

  2. 机器学习-决策树(decision tree)算法

    学习彭亮<深度学习基础介绍:机器学习>课程 [toc] 决策树概念 决策树是一种用于监督学习的层次模型,由此,局部区域通过少数几步递归分裂决定. 决策树是一个类似流程图的树结构:其中每个结 ...

  3. 机器学习算法实践:决策树 (Decision Tree)(转载)

    前言 最近打算系统学习下机器学习的基础算法,避免眼高手低,决定把常用的机器学习基础算法都实现一遍以便加深印象.本文为这系列博客的第一篇,关于决策树(Decision Tree)的算法实现,文中我将对决 ...

  4. [机器学习笔记] (四)决策树 Decision Tree

    (四)决策树 Decision Tree 基本概念 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性 ...

  5. 【机器学习实验二】决策树(Decision Tree)及其在图像识别任务上的应用

    经典有监督学习算法:决策树(Decision Tree) --本篇博客的决策树算法以及实验仅针对分类问题 文章目录 经典有监督学习算法:决策树(Decision Tree) 1.算法简介 2.算法思想 ...

  6. Machine Learning | (7) Scikit-learn的分类器算法-决策树(Decision Tree)

    Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...

  7. 决策树分类python代码_分类算法-决策树 Decision Tree

    决策树(Decision Tree)是一个非参数的监督式学习方法,决策树又称为判定树,是运用于分类的一种树结构,其中的每个内部节点代表对某一属性的一次测试,每条边代表一个测试结果,叶节点代表某个类或类 ...

  8. Python数据挖掘入门与实践 第三章 用决策树预测获胜球队(一)pandas的数据预处理与决策树(Decision tree)

    作为一个NBA球迷,看到这一章还是挺激动的. 不过内容有点难,研究了半天... 要是赌球的,用这章的预测+凯利公式,是不是就能提升赢钱概率了? 数据预处理 回归书本内容,既然要分析,首先需要有数据: ...

  9. 决策树Decision Tree 和随机森林RandomForest基本概念(一)

    文章目录 一.决策树介绍 1.1 什么是决策树 1.2 决策树种类 1.3 决策树学习过程 1.4 Entropy(熵) 1.5 information gain(信息增益) 1.6 信息论 1.8 ...

  10. 决策树(Decision Tree)_海洋动物分类

    决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法.由于 ...

最新文章

  1. 使用 AjaxManager 生成调用服务器端方法的 javascript 函数
  2. 全网最全!2021最新常用肿瘤生信数据库收藏级汇总!
  3. unix网络编程之UNIX Domain Socket IPC (sockaddr_un )
  4. HashMap的实现原理及其特点
  5. cortex-m3 操作模式 寄存器组 异常类型 堆栈 中断
  6. CSS3质感分析——表面线性渐变
  7. app底部导航栏的设计模板素材
  8. 一文读懂Http Headers为何物(超详细)
  9. ZOJ 1242 Carbon Dating
  10. python培训价目表-Python培训一般要多少钱?
  11. Linux学习笔记一:vmware安装Ubuntu虚拟机并进行联网设置
  12. AD2S1210的使用总结
  13. [数据][xml格式] 2012年统计用区划代码和城乡划分代码
  14. MFC分析工具—Resource Hacker
  15. WDM驱动实操No.1
  16. 图片视频音频开源文件转换器file-converter
  17. 开发团队人员配备及工作分配
  18. ASIC设计流程相关
  19. 反脆弱:为什么有些人更能适应工作的剧烈变化?
  20. 2021年全国计算机南京考点,2021考研考场安排:往年南京市考研考点及考场安排

热门文章

  1. 关于bfs的原理和应用
  2. 《艾迪芬奇的记忆》中最过目不忘的场景是如何设计的
  3. 如何在fluent中设置各向异性材料
  4. ROS中的机器人模型控制——ros_control
  5. 安装 Logstash 并配置 ik 分词器
  6. Mybatis 主键插入回显
  7. 红米K30PRO线刷稳定版中途错误
  8. C/C++教程 第二十七章 —— 脚本开发
  9. 大数据计算的6大关键技术与4大应用场景探索!
  10. 802.11n采用的关键技术