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

0x00决策树的判定流程

下图表示礼物选择地判定过程,首先根据颜的两个选择分支:当黑色的时候根据价格选择喜欢不喜欢;当选择白色的时候,可以再根据大小确定喜欢或者不喜欢。

决策树的决策过程一般是从决策树的根节点开始,将待测数据和决策树中的特征节点进行比较,再选择下一个比较分支,直到叶子节点作为最终的决策结果。

决策树除了可以用来分类外,还可以用来回归和预测。分类树对离散变量做决策树,回归树对连续变量做决策树。

0x01决策树的三种节点

从数据产生决策树的机器学习技术成为决策树学习,通俗的来说是决策树,一个决策树一般有三种节点

决策节点:是对几种可能方案的选择,即最后选择的最佳方案。如果决策属于多级决策,则决策树的中间可以有多个决策点,以决策树根部的决策点为最终决策方案。

状态节点:代表备选方案的经济效果(期望值),通过各状态节点的经济效果对比,按照一定的决策标准就可以选出最佳方案。由状态节点引出的分支称为概率枝,概率枝的数目表示可能出现的自然状态数目每个分支上要注明该状态出现的概率。

终结点:每个方案在各种自然状态下取得的最终结果.即树的叶子。

0x02优缺点

*优点**

简单易懂,原理清晰,决策树可以实现可 视化;

决策树算法的时间复杂度(预测数据)是 用于训练决策树的数据点的对数;

能够处理数值和分类数据;

能够处理多路输出问题;

可以通过统计学检验验证模型。这也使模 型的可靠性计算变得可能;

即使模型假设违反产生数据的真实模型, 表现性能依旧很好

缺点

决策树有时候是不稳定的,因为数据微小 的变动,可能生成完全不同的决策树

有些问题学习起来非常难,因为决策树很难表达,如异或问题、奇偶校验或多路复用器问题

如果有些因素占据支配地位,决策树是有偏差的。因此建议在拟合决策树之前先平衡数据的影响因子

对连续性的字段比较难预测

最优决策树的构建属于NP问题

决策树分类python代码_分类算法-决策树 Decision Tree相关推荐

  1. k邻近算法python代码_机器学习算法之K近邻法-Python实现

    一.算法简介 k近邻法(k-nearest neighbor,k-NN)是一种基本的分类方法,输入的是实例的特征向量,对应于特征空间的点,输出结果为实例的类别,可以取多类.对于训练集来说,每个实例的类 ...

  2. 帧间差分法python代码_图像处理算法之帧间差分法

    1. 基本原理 帧间差分法是一种通过对视频图像序列的连续两帧图像做差分运算获取运动目标轮廓的方法.当监控场景中出现异常目标运动时,相邻两帧图像之间会出现较为明显的差别,两帧相减,求得图像对应位置像素值 ...

  3. 神经网络变学习率算法代码_机器学习算法之神经网络

    点击蓝字关注我哦 人工神经网络(Artificial Neural Networks,ANN)系统是 20 世纪 40 年代后出现的.它是由众多的神经元可调的连接权值连接而成,具有大规模并行处理.分布 ...

  4. 决策树对鸢尾花数据两特征组合分类python代码的结果_机器学习笔记-决策树

    在看决策树之前,先看下之前说过的逻辑回归 上图为判断是否要交往的逻辑回归算法图 把身高,财富,颜值分别与w1,w2,w3相乘求和得到一个结果. (其中w1为高的权重,如果比较在意身高,那么w1就会偏大 ...

  5. 随机森林分类算法python代码_随机森林的原理及Python代码实现

    原标题:随机森林的原理及Python代码实现 最近在做kaggle的时候,发现随机森林这个算法在分类问题上效果十分的好,大多数情况下效果远要比svm,log回归,knn等算法效果好.因此想琢磨琢磨这个 ...

  6. 随机森林分类算法python代码_独家 | 一文读懂随机森林的解释和实现(附python代码)...

    作者:William Koehrsen 翻译:和中华 校对:李润嘉 本文约6000字,建议阅读15分钟. 本文从单棵决策树讲起,然后逐步解释了随机森林的工作原理,并使用sklearn中的随机森林对某个 ...

  7. 决策树剪枝python实现_决策树剪枝问题python代码

    决策树在生长过程中有可能长得过于茂盛,对训练集学习的很好,但对新的数据集的预测效果不好,即过拟合,此时生成的模型泛化能力较差.因此,我们需要对决策树进行剪枝,使得生成的模型具有较强的泛化能力. 为了检 ...

  8. 决策树留一法python代码_机器学习模型2 决策树-基于Python sklearn的实现

    1.模型原理 (一)原理 1.原理:引入信息熵(不确定程度)的概念,通过计算各属性下的信息增益程度(信息增益越大,则意味着使用该属性来进行划分所获得的"纯度提升"越大),增益程度最 ...

  9. 决策树留一法python代码_从实例中归纳决策树_人工智能一

    从实例中归纳决策树_人工智能一 18.3.3 从实例中归纳决策树 布尔决策树的一个实例是由一个输入属性向量X以及一个唯一的布尔输出值y组成的.一个实例集合(X1,y1),-,(X12,y12)如图18 ...

最新文章

  1. 区域设置 ID (LCID) 表, 及获取方法
  2. SSD数据可靠性问题分析
  3. 运行JBoss 5.1.0 GA时出现Error installing to Instantiated:name=AttachmentStore state=Described错误的解决办法...
  4. Facebook:使用Libra完成第一笔交易
  5. u-boot 源码分析讲解
  6. 【开学季限时免费】下载19880元大数据开发全链路教程(视频+源码)
  7. 拖拽功能-jquery
  8. 远古VOD存在严重注入漏洞!!
  9. 斗地主AI算法——第七章の被动出牌(1)
  10. 于明:移动支付将代替电子支付?
  11. ad gerber文件生成_Gerber竟然可以倒转PCB文件!!!
  12. mysql generator 命令_Mybatis使用命令生成逆向工程的方法
  13. Windows程序设计_学习总结(1)
  14. linux分析java堆栈信息,Linux下获取java堆栈文件并进行分析
  15. 123457123456#0#-----com.yuming.baoBaoAiXueXi01hanzi--前拼后广--幼儿园宝宝学汉字
  16. CapsNet胶囊网络
  17. 有幸一睡鸿蒙窍,《嘲鼾睡》原文、译文、翻译、赏析、拼音、作者韩愈-舟山诗词网...
  18. 计算机双工模式,小熊教你电脑设置连接速度和双工模式
  19. python中div是什么意思_python中divmod是什么
  20. HCIE-RS论述题QOS

热门文章

  1. android studio新建layout,【Android Studio安装部署系列】十六、Android studio在layout目录下新建子目录...
  2. VHDL简易电子琴的设计
  3. php文件怎么阅读器,Vue文件阅读器组件FileReader API
  4. linux mysql5.1 安装_linux编译安装mysql5.1.x
  5. 手动选择显示_QGIS 二次开发笔记(2)——显示图层
  6. mysql恢复root用户_恢复MYSQL的root用户
  7. macbook配置java环境变量_Mac系统配置JDK环境变量
  8. 服务器显示AL018是什么意思,IIS服务器80端口却已被占用的问题
  9. c#与access建立连接用作登录_组态王与Access数据库的数据交换
  10. CDQ 分治解决和点对有关的问题