在前一期介绍搭建结合机器学习的CI/CD管道时,无意中提到了算法分类。在受监督学习的分类中,有一个既适用于回归又适用于分类的算法,即我们今天要介绍的决策树算法(CART, Classification and Regression Tree)。
先说一下这两类算法索要解决的问题,回归算法指的是当给出一个点集D,用一个函数去拟合这个点集,并且使得点集与拟合函数间的误差最小,从而近似模拟出应变量与自变量之间的关系。常用的回归算法有线性回归和LASSO回归,前者通俗易懂,较易实现;后者适用范围更广,对数据要求更低,容错更强。(以下是一元线性回归拟合。)

分类算法顾名思义对于预测结果没有数值上的偏差,只有对错之分。严格意义上说决策树更适用于分类算法,对于回归的预测只能给出数值的可信范围。
既然叫做决策"树",那一定是由一个主干节点和多个分叉节点及叶节点组成的,每个分叉都是一个决策,每一片叶子都是一个最终分类或取值(范围),

相较于其他回归算法,决策树的优点在于:

  • 便于理解、编译和展示(小编曾研究LASSO回归算法,简直就是天书);
  • 可以对变量进行人为筛查和功能筛选;
  • 不需要特别的数据准备,对于原始数据的排序、完整性要求不高。

    决策树算法的缺点在于:

  • 算法容易过拟合(Overfitting),往往由于为匹配所有样本而设置过多决策点,其他监督学习算法也会有类似问题,只是决策树算法更为敏感,算法生成后往往需要“剪枝(Pruning)”;
  • 数据一旦有微小偏差就会影响算法稳定性,对于偏差数据往往需要再建立补偿算法的偏差树以保证原树的稳定性。

基于上述特性,决策树算法最常被用来预测一些是非问题。例如根据一个人的家庭背景、收入情况判断偿还银行贷款的能力;抑或根据性别、年龄、身高、体重判断他能否从某次灾难中幸存。
之前说了决策树算法既适用于回归问题又适用于分类问题,回归问题中自变量是连续的,因此回归(决策)树根据训练结果会返回平均预测值

分类(决策)树不会考虑数值的近似关系,而将数值单纯地理解为符号,只有一模一样的数才会合并到同一片叶子。

在决策树算法的设计中,使用越少的决策点越能提高算法的效率,举个简单的例子:有以下五个区间,如何用最少的决策点将五个叶子节点给区分开来。(动脑时间开始。5,4,3,2,1...)

以下公布答案,我们从X1变量出发,通过两层三个决策点的判断就得出了全部5个叶子节点,您答对了么?

关注公众号“达摩院首座”,一起开源一起嗨!

【机器学习】决策树算法相关推荐

  1. [飞桨机器学习]决策树算法

    [飞桨机器学习]决策树算法 一.简介 1.概述 决策树算法是一种逼近离散函数值的方法.它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析.本质 ...

  2. 机器学习-决策树算法原理及实现-附python代码

    1.决策树-分类树 sklearn.tree.DecisionTreeClassifier官方地址: https://scikit-learn.org/stable/modules/generated ...

  3. 机器学习-决策树算法ID3实现,含例子(红酒分类)

    决策树原理实现代码如下所示:(参考自机器学习实践 Peter Harrington). import mathx=[[0,1,"no"],[0,1,"no"], ...

  4. 机器学习 决策树算法

    4.1 决策树算法简介 学习目标 知道什么是决策树 能够通过sklearn实现决策树分类,进一步认识决策树 1 概念 决策树思想的来源非常朴素,程序设计中的条件分支结构就是if-else结构,最早的决 ...

  5. 机器学习——决策树算法

    文章目录 一.决策树介绍 二.利用信息增益选择最优划分属性 三.ID3代码实现 1.jupyter下python实现 2. 使用sklearn实现ID3 四.C4.5算法实现 五.CART算法实现 六 ...

  6. python决策树原理_Python机器学习决策树算法 | kTWO-个人博客

    ps:这篇文章主要来介绍决策树算法的基本原理和概念.具体的Python应用将在下一篇文章中介绍. 1.什么是决策树? 决策树(decision tree)也叫做判定树,类似于流程图的结构,每个内部的结 ...

  7. 机器学习决策树算法泰坦尼克号乘客生存预测

    目录 1 决策树算法api 2 泰坦尼克号乘客案例背景 2.1 步骤分析 2.2 代码实现 2.3 决策树可视化 2.3.1 保存树的结构到dot文件 2.3.2 网站显示结构 3 决策树总结 4 小 ...

  8. 机器学习——决策树算法原理及案例

    机器学习在各个领域都有广泛的应用,特别在数据分析领域有着深远的影响.决策树是机器学习中最基础且应用最广泛的算法模型.本文介绍了机器学习的相关概念.常见的算法分类和决策树模型及应用.通过一个决策树案例, ...

  9. Python数据分析实战【十二】:机器学习决策树算法案例实战【文末源码地址】

    文章目录 构造数据 决策树解决 报错解决 源码地址 构造数据 我们用pandas生成20条数据,其中标签为bad的数据有6条,标签为good的数据有14条,代码如下: import pandas as ...

  10. 机器学习——决策树算法的应用

    对于买电脑的示例,在Python数据包sk-learn中利用决策树算法实现数据分类,并画出决策树的结构 1.准备工作 (1)安装Graphviz(数据可视化软件),并配置好环境变量,加入到path中, ...

最新文章

  1. Hibernate总结
  2. Python subprocess模块
  3. UVa LA 4253 UVa 1421 Archery 枚举,状态削减,oj错误题目 难度: 1
  4. 将二叉树的叶子结点转换成单链表,并返回最左叶子结点的地址(链头)
  5. OAuth2.0在项目中认证流程介绍
  6. python逐个读取字符_玩转python之字符串逐个字符或逐词反转
  7. 两个运放制作加法器_集成电路的分类及其制作工艺
  8. ROS学习笔记8(使用 rqt_console, rqt_graph 和 roslaunch)
  9. Java-ReentrantLock-NonfairSync/FairSync
  10. 基于DEAP库的python进化算法-5.遗传算法求解TSP问题的改进
  11. RT thread 设备驱动组件之USART设备
  12. macOS Monterey更新后遇到的bug问题汇总与解决
  13. PLSQL配置Oracle 64位
  14. 灰色系统理论(Matlab实现)
  15. 【ffmpeg】支持vp8/vp9编码
  16. 程序员英文面试题及回答(带中文翻译)
  17. SpringBoot快速整合Quartz动态管理定时任务
  18. 转载:云计算必将极大影响未来--云泉
  19. 十位数和个位数交换python_Python3实现个位数字和十位数字对调, 其乘积不变
  20. office2010卸载记录

热门文章

  1. boost::gil::get_num_bits用法的测试程序
  2. boost::posix_time模块实现计算时间段的测试程序
  3. Boost:boost::asio模块的allocation service分配服务测试程序
  4. ITK:写一个TIFF图像
  5. ITK:用颜色标记图像中的区域
  6. VTK:可视化算法之CutWithCutFunction
  7. VTK:可视化之Glyph3DImage
  8. VTK:PolyData之CellCentersDemo
  9. VTK:Filtering之GaussianSplat
  10. Qt Creator测验Testing