决策树算法

这篇文章: https://zhuanlan.zhihu.com/p/26703300  对决策树算法说的非常深入浅出

决策树模型核心是下面几个部分:

(1) 结点和有向边组成

(2) 结点有内部结点和叶结点2种类型

(3) 内部结点表示一个特征,叶节点表示一个类

决策树的关键步骤是分裂属性:

所谓分裂属性就是在某个节点处按照某一特征属性的不同划分构造不同的分支,其目标是让各个分裂子集尽可能地“纯”。尽可能“纯”就是尽量让一个分裂子集中待分类项属于同一类别。对应不同的节点划分方法,有不同的算法,分别是:ID3,C4.5算法以及CART算法:

ID3算法: 由于信息增益准确是对可取值数目较多的属性有所偏好,比如如果把编号放进去,则编号的划分纯度非常高,但不具有泛化能力。

决策树学习的关键其实就是选择最优划分属性,希望划分后,分支结点的“纯度”越来越高。那么“纯度”的度量方法不同,也就导致了学习算法的不同。

我们既然希望划分之后结点的“纯度”越来越高,那么如何度量纯度呢?

“信息熵”是度量样本集合不确定度(纯度)的最常用的指标。

在我们的ID3算法中,我们采取信息增益这个量来作为纯度的度量。我们选取使得信息增益最大的特征进行分裂!那么信息增益又是什么概念呢?

https://zhuanlan.zhihu.com/p/26760551 这篇文章对ID3算和C4.5算法讲的很好。

https://zhuanlan.zhihu.com/p/21359565 这篇文章对随机森林讲的不错。

那随机森林具体如何构建呢?有两个方面:数据的随机性选取,以及待选特征的随机选取。

1.  数据的随机选取

首先,从原始的数据集中采取有放回的抽样,构造子数据集,子数据集的数据量是和原始数据集相同的。不同子数据集的元素可以重复,同一个子数据集中的元素也可以重复。第二,利用子数据集来构建子决策树,将这个数据放到每个子决策树中,每个子决策树输出一个结果。最后,如果有了新的数据需要通过随机森林得到分类结果,就可以通过对子决策树的判断结果的投票,得到随机森林的输出结果了。如下图,假设随机森林中有3棵子决策树,2棵子树的分类结果是A类,1棵子树的分类结果是B类,那么随机森林的分类结果就是A类。

2. 待选特征的随机选取:

与数据集的随机选取类似,随机森林中的子树的每一个分裂过程并未用到所有的待选特征,而是从所有的待选特征中随机选取一定的特征,之后再在随机选取的特征中选取最优的特征。这样能够使得随机森林中的决策树都能够彼此不同,提升系统的多样性,从而提升分类性能。

GBDT:梯度提升决策树,主要用来做回归,调整后也可以用来搞分类 http://www.jianshu.com/p/005a4e6ac775

http://www.jianshu.com/u/103933f0bbf0 这篇文章对gbdt的代码进行了优化

GBDT的思想使其具有天然优势可以发现多种有区分性的特征以及特征组合。业界中,Facebook使用其来自动发现有效的特征、特征组合,来作为LR模型中的特征,以提高 CTR预估(Click-Through Rate Prediction)的准确性(详见参考文献5、6);GBDT在淘宝的搜索及预测业务上也发挥了重要作用(详见参考文献7)。

转载于:https://www.cnblogs.com/raul313/p/7751729.html

决策树随机森林GBDT相关推荐

  1. 决策树随机森林GBDTXGBoost学习笔记以及代码实现

    文章目录 1. 引入 1.1 决策树 1.2 随机森林 1.3 GBDT(Gradient Boosting Decision Tree)梯度提升决策树 1.4 XGBoost(eXtreme Gra ...

  2. 决策树 随机森林 xgboost_推荐收藏 | 决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost总结...

    作者:ChrisCao https://zhuanlan.zhihu.com/p/75468124 一. 决策树决策树是一个有监督分类模型,本质是选择一个最大信息增益的特征值进行分割,直到达到结束条件 ...

  3. 决策树 随机森林 xgboost_一文搞定XGboost 面试常见问题

    本文主要介绍xgboost常见的面试问题,主要回答如下几个问题: 1.GBDT的原理,且介绍与xgboost的区别. 2.决策树节点分裂时如何选择特征. 3.分类树和回归树的区别. 4.与Random ...

  4. 基于逻辑回归/决策树/随机森林/多层感知分类器/xgboost/朴素贝叶斯分类的资讯多分类性能对比

    在上一篇(https://blog.csdn.net/baymax_007/article/details/82748544)中,利用逻辑回归实现资讯多分类.本文在之前基础上,又引入决策树.随机森林. ...

  5. 决策树 随机森林 xgboost_决策树算法之随机森林

    在 CART 分类回归树的基础之上,我们可以很容易的掌握随机森林算法,它们之间的区别在于,CART 决策树较容易过拟合,而随机森林可以在一定程度上解决该问题. 随机森林的主要思想是:使用随机性产生出一 ...

  6. 决策树 随机森林 xgboost_一文看懂随机森林-RandomForest(附4个构造步骤+4种实现方式评测+10个优缺点)...

    随机森林是一种由决策树构成的集成算法,他在很多情况下都能有不错的表现.本文将介绍随机森林的基本概念.4 个构造步骤.4 种方式的对比评测.10 个优缺点和 4 个应用方向. 什么是随机森林? 随机森林 ...

  7. 决策树 随机森林 xgboost_从决策树到随机森林理论篇从人话到鬼话:看不懂来找我麻烦...

    从决策树产生的一些列的问题,过度到随机森林: 全文大概要阅读10分钟: 随机森林算法范畴 监督学习分类算法,基模型是由决策树组成 决策树 决策树模型与学习 特征选择 决策树生成 决策树剪枝 CART算 ...

  8. 机器学习——决策树+随机森林

    目录 决策树 认识决策树 决策树的生成 信息的单位--比特 信息熵 决策树的划分依据之一--信息增益 例题--银行贷款分析 决策树的其他分类依据 案例--泰坦尼克号乘客生存分类 决策树的结构.本地保存 ...

  9. 基于6种监督学习(逻辑回归+决策树+随机森林+SVM+朴素贝叶斯+神经网络)的毒蘑菇分类

    公众号:尤而小屋 作者:Peter 编辑:Peter 大家好,我是Peter~ 本文是kaggle案例分享的第3篇,赛题的名称是:Mushroom Classification,Safe to eat ...

最新文章

  1. Windows10+anaconda,python3.5, 安装glove-python
  2. C++调用Python文件,TensorFlow和PyTorch构建的深度学习模型,无法使用GPU的情况分析。
  3. PHP设计模式(4)命令链模式
  4. CVPR 2020丨基于点云的3D物体检测新框架
  5. 【Java 注解】自定义注解 ( 元注解 )
  6. 2018 亚太数学建模大赛B题解题思路
  7. php getfooter,wordpress函数get_footer()用法示例
  8. (C语言)链表的实现集合的相关操作
  9. (转载)使用 Anthem.NET 的常见回调(Callback)处理方式小结
  10. layui 监听表单提交form.on(‘submit(sub)‘,function (){}) ajax请求失败问题
  11. 用长按键重复输入 - Mac OS X Lion
  12. 操作系统实验报告清华大学LAB1
  13. Android 画布画线,android – 使画布drawLine()可点击的技巧?
  14. python写一个网络测速脚本_网络测速工具——Speedtest
  15. 模板--Guass消元法(求解多元一次方程组)
  16. dest在C语言什么作用,dest(车的dest是什么意思)
  17. 砂糖橘文案:水果砂糖橘的文案,水果文案砂糖橘
  18. MYSQL之STRAIGHT_JOIN
  19. 奥斯卡大赢家影片:《瞬息全宇宙》背后的AI技术揭秘
  20. 深度学习、物联网专家Sunil Kumar Vuppala博士独家专访

热门文章

  1. 【CyberSecurityLearning 17】三层交换技术及实验演示、内部网络规划、HSRP
  2. Unresolved compilation problem: String liter
  3. NASM 中 SECTION 的默认对齐
  4. S3C2440 中断相关寄存器小探
  5. Java8--Lambda表达式对List集合操作
  6. 日常生活 -- 开博一周年
  7. zcmu-1934(卡特兰数大数取模(逆元))
  8. leetcode-有效的括号(三种语言不同思路)
  9. 【译】Why Wayland on Android is a hard problem
  10. redhat7配置本地源