首先,决策树可以用在回归与分类里面,但主要是用在分类上。

决策树主要分为三块:

  1. 特征选择
  2. 决策树生成
  3. 剪枝

特征选择主要有两种方法,对应了两种决策树的生成算法:

  1. 根据信息增益最高的特征来选取特征,这种选取准则(信息增益)的生成算法叫做ID3
  2. 根据信息增益比最高的特征来选取特征,这种选取准则(信息增益比)的生成算法叫做C4.5

信息增益是通过数据集的经验熵减去它的经验条件熵得到的。

公式在下面,其实如果将上面的语言说清楚了,面试官也就满意了一大半了,实在问公式,理解起来其实也不难。


这种根据信息增益来选取特征来构造决策树的算法叫做ID3算法,它有个比较大的缺点就是容易过拟合,所以产生了C4.5算法,这个算法是根据信息增益比来选取特征的,可以防止过拟合。

为了防止决策树过拟合,还需要对生成的决策树进行剪枝。

剪枝分为两大类:

  1. 预剪枝
  2. 后剪枝

预剪枝很简单,就是在生成决策树的时候设定一个阈值,使它在生成的时候提前结束,防止过拟合。

后剪枝是在决策树生成后再对其进行剪枝,主要有以下几种算法:

  1. Reduced-Error Pruning (REP,错误率降低剪枝):使用测试数据集来简化决策树,然后对比简化前后的决策树的错误率,哪个效果好就用哪个
  2. 悲观错误剪枝 PEP:这在C4.5决策树算法中提出的, 把一颗子树(具有多个叶子节点)用一个叶子节点来替代,比起REP剪枝法,它不需要一个单独的测试数据集。
  3. 基于错误剪枝 EBP
  4. 代价-复杂度剪枝 CCP:CART所用的剪枝方法,也不需要单独的测试数据集。
  5. 最小错误剪枝 MEP

面试官、女朋友都满意系列 - 决策树相关推荐

  1. 【转】MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)

    MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列) 本文公众号来源:JavaKeeper作者:派大新 写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术 ...

  2. 关于逻辑回归,面试官们都怎么问

    作者 | WEIWEI   整理 | NewBeeNLP 「面试官们都怎么问」系列文章主旨是尽可能完整全面地整理ML/DL/NLP相关知识点,不管是刚入门的新手.准备面试的同学或是温故知新的前辈,我们 ...

  3. 关于Transformer,面试官们都怎么问?

    作者 | Adherer 编辑 | NewBeeNLP 面试锦囊之知识整理系列,持续更新中 已发表: 关于ELMo,面试官们都怎么问 写在前面 前些时间,赶完论文,开始对 Transformer.GP ...

  4. 那些面试官,都是如何把候选人聊崩溃的

    <兄弟,你太用力了>分享了面试官关注的一些点,帮助候选人规避面试过程中的一些坑. 今天,站在候选人的角度,聊聊面试,看能否帮助面试官规避面试过程中的一些坑. 画外音:探测候选人深浅,也是一 ...

  5. MySQL 三万字精华总结 + 面试100 问,吊打面试官绰绰有余(收藏系列)

    ❝ 写在之前:不建议那种上来就是各种面试题罗列,然后背书式的去记忆,对技术的提升帮助很小,对正经面试也没什么帮助,有点东西的面试官深挖下就懵逼了. 个人建议把面试题看作是费曼学习法中的回顾.简化的环节 ...

  6. 动画:如何给面试官写一个满意的冒泡排序

    作者 | 小鹿 来源 | 小鹿动画学编程 写在前边 对于冒泡排序,很多小伙伴已经可以说很熟悉了,顺手就可以写出来,但对于一个初学者来说,小鹿想通过这篇文章,让你一次性就理解冒泡排序以及冒泡排序的优化, ...

  7. 《如何与面试官处朋友》系列-缓存击穿、穿透、雪崩场景原理大调解

    前面我们提到分布式多级缓存架构的全貌,但总感觉少了些什么东西.在这样大的场景下面,如果遇到缓存使用问题那可咋办?但自古英雄出少年,相信此刻你已踏马西去,正走在寻找答案上得夕阳西下.每每面谈Redis大 ...

  8. 关于ELMo,面试官们都怎么问

    作者 | Adherer 编辑 | NewBeeNLP 面试锦囊之知识整理系列,持续更新中 写在前面 以下是关于ELMo的若干问题整理记录,自己在网上找了一些问题,对每个问题收集了一些资料,并做了整理 ...

  9. golang实现的布隆过滤器_面试官:都 2020 年,你在干嘛?还不知道布隆过滤器

    关注过 @Python大星 的小伙伴应该知道,2020 年 4 月 Python 小星最近裸面了阿里巴巴菜鸟网络科技有限公司. 一面中面试官非常重视解决 Redis 缓存穿透问题的利器--布隆过滤器, ...

最新文章

  1. sts,eclipse里面配置tomcat
  2. 为啥国人偏爱 Mybatis,而老外喜欢 Hibernate/JPA 呢?
  3. python-迭代器
  4. 开始时间小于 结束时间 js_DNF分享红包开始及结束时间 红包有什么奖励相关介绍...
  5. 7. Android Basic UI的布局 WidgetDemo基本组件演示
  6. CSliderCtrl鼠标点击精确定位
  7. hdfs 指令_Hadoop Shell命令
  8. poj 3268 bzoj 1631: [Usaco2007 Feb]Cow Party(最短路)
  9. SLAM_三维点优化时为什么使用逆深度误差而不是深度误差?
  10. Python和C语言运行速度对比(累加1亿次)
  11. 拼多多“功未成”,黄峥“身已退”
  12. vue 批量下载通用方法
  13. 正则表达式隐藏手机号、身份证号、台胞证、护照、回乡证中间几位数字信息
  14. java 去掉空行_java 去掉空行
  15. 页面倒计时按钮的两种实现方式
  16. 原画 机器人总动员_《机器人瓦力》导演执导 科幻史诗巨制《火星上的约翰·卡特》首支震撼预告...
  17. spring 自定义标签 学习二
  18. 青海哈里哈图国家森林公园雪景美若人间仙境
  19. python白帽子学习笔记(整合)
  20. 三种方法 彻底解决win10 cmd下运行python弹出windows应用商店

热门文章

  1. 网络操作系统第1章习题
  2. 创建激光雷达(rplidar)的串口别名
  3. 集群-如何理解集群?
  4. 【特效】hover效果之四线动画
  5. Python爬虫之环境安装
  6. 读《大道至简》第三章 有感
  7. 网页速度很慢优化方案:如何提高网页加载速度,提升网站加载速度
  8. linux打印JAVA日志命令_Linux下查看日志用到的常用命令
  9. 恩施市2021年高考成绩查询,2021年湖北恩施各高中中考分数线及录取时间结果查询安排...
  10. CCF201512-1 数位之和