决策树知道吗,就是XGBoost,LightGBM中用的那种啊?

决策树知道吗,就是XGBoost,LightGBM中用的那种啊?

导读

随机森林,梯度提升都是基于决策树的算法,那决策树到底又是什么东西呢?今天给大家先简单的介绍一下,完全是概念上的介绍,没有数学,没有公式,大家先有一个直观上的了解再说吧。

你会在灾难中幸存吗?

特定的人群,比如妇女和儿童,会首先受到救助,她们会有比较大的机会活下来。知道你是不是属于这样的特权人群,可以帮助你预测你是否能幸存。我们可以使用决策树,来发现哪种人群具有高的幸存率。

定义

决策树在预测的时候,通过问你一系列的问题,来决定你是否属于某个人群(图1),每个问题又两个可能的回答,比如“yes”或者“no”,从最顶端的的问题开始,叫做根节点,然后根据你属于哪个人群,走到对应的枝干上,直到你走到叶子节点上,在叶子节点上,幸存者的比例就是你存活的概率。

决策树知道吗,就是XGBoost,LightGBM中用的那种啊?快来看

图1 决策树的例子

决策树是个多面手,可以处理类别变量或者连续变量,如果问题是关于连续变量的,可以通过分割来分成不同的组—比如,和平均值比较,分成“高于均值”和“低于均值”两组。

在标准的决策树中,应该只有两个可能的回答,也就是“yes”或者“no”,如果我们想有更多的回答(“yes”, “no”, “sometimes”),我们可以在树的下面增加枝干。

决策树知道吗,就是XGBoost,LightGBM中用的那种啊?快来看

图2 在决策树中进行多类别测试

图解

我们使用一个不幸的邮轮的乘客数据,Titanic,看看是不是特定的人群生成的几率更大。我们用的数据是原始数据的一个子集。

通过决策树预测生存率,会生成下面的树:

决策树知道吗,就是XGBoost,LightGBM中用的那种啊?快来看

图3 预测你是否能在泰坦尼克沉船事件中幸存

从结果看,如果你是来自一等二等舱的女性,或者来自一等二等舱的男孩子,那么你有很大的概率获救。

决策树很受欢迎,因为非常容易解释,问题是,决策树是怎么生成的?

技术解释

决策树首先将所有的数据分裂成两组,相似的数据归为相同的组,然后在各自的组中,再进行重复的二元分裂。最终,每个叶子节点会有很少的但是更加同质性的数据,决策树的基础是通过树中的不同的路径,到达“幸存者”的孤立的组,属于这些路径的数据都可以预测为“幸存者”。

重复的分隔数据,得到同质化的组的过程就叫做递归分割,包含2个步骤,可以通过下面的动图来看:

Step 1:确定要问的问题,这个问题能让分割之后的两个组中的数据具有最佳的同质性。

Step 2: 对每个叶子节点,重复Step 1,,直到满足停止条件。

决策树知道吗,就是XGBoost,LightGBM中用的那种啊?快来看

有好几个不同的停止条件:

– 当叶子节点中所有的数据都是相同的类别/值,停止

– 当叶子节点的数据个数小于5,停止

– 当继续分割之后,得到的同质性的提升小于一个阈值的时候,停止

停止条件通过交叉验证的方式来选取,这样可以保证在新数据上具有最佳的准确率。

递归分裂的时候,需要选取最佳的二分类的问题,来进行树的生长,那些不显著的变量会显示出对结果没有什么影响。二值问题对数据进行了主要的分割,所以,决策树对于极端点(离群点)是鲁棒的。

限制

使用最佳的二分类问题来分割数据,可能开始的时候并不能得到最高的准确率,有时候,使用一些不太高效的分割可能会得到更好的预测。

为了解决这个问题,我们可以使用不同的二值问题的组合来生成不同的树,然后使用这些树一起进行预测。就就叫做随机森林。或者,不用随机组合二值化问题,我们可以进行有策略的选择,这样,后面的树的预测准确率会持续的提升,然后对所有的树做个加权平均,这个方法叫做梯度提升。

随机森林和梯度提升都可以得到更高的准确率,但是他们的复杂性导致了可视化比较困难,所以,常常被称作“黑盒子”。另一方面,来自决策树的预测可以使用树图来检查,学习哪个预测器更加重要,让我们可以更加有目的的介入。

作者:Annalyn Ng 编译:ronghuaiyang
原文链接:https://algobeans.com/2016/07/27/decision-trees-tutorial/

本文为专栏文章,来自:AI公园,内容观点不代表本站立场,如若转载请联系专栏作者,本文链接:https://www.afenxi.com/76056.html 。

(0)
AI公园的头像AI公园专栏
上一篇 2019-10-10 09:53
下一篇 2019-10-10 14:00

相关文章

  • 从头开始:用Python实现随机森林算法

    拥有高方差使得决策树(secision tress)在处理特定训练数据集时其结果显得相对脆弱。bagging(bootstrap aggregating 的缩写)算法从训练数据的样本中建立复合模型,可以有效降低决策树的方差,但树与树之间有高度关联(并不是理想的树的状态)。 随机森林算法(Random forest algorithm)是对 bagging 算…

    2017-07-06
    0
  • 人工智能/机器学习知多少?

    从在智力竞赛节目和围棋人机大战战胜人类,到推送广告时表现出种族偏见而备受抨击, 我们似乎已经进入了人工智能发展步伐迅速加快的时代。但就目前而言,我们还无法让机器具有完整的感知能力,使其电子“大脑”通过合理的道德判断,完成复杂的认知任务。 当前的发展走向让人们对人工智能的未来普遍生出了畏惧之心。这种情绪近来在流行文化中的表达显示出了我们对这项技术有多么谨慎和悲…

    2017-09-11
    0
  • 深度学习经验指南

    简单和复杂的技巧,帮助你提升深度学习的模型准确率

    2019-09-11
    0
  • NLPIR大数据语义系统KGB技术引领新方向

    NLPIR大数据语义智能分析平台平台是根据中文数据挖掘的综合需求,融合了网络精准采集、自然语言理解、文本挖掘和语义搜索的研究成果

    2018-11-04
    1
  • 基于Deep Learning 的视频识别方法概览

    深度学习在最近十来年特别火,几乎是带动AI浪潮的最大贡献者。互联网视频在最近几年也特别火,短视频、视频直播等各种新型UGC模式牢牢抓住了用户的消费心里,成为互联网吸金的又一利器。当这两个火碰在一起,会产生什么样的化学反应呢?

    2016-07-24
    0
关注我们
关注我们
分享本页
返回顶部