随机森林 订阅
随机森林指的是利用多棵树对样本进行训练并预测的一种分类器。该分类器最早由Leo Breiman和Adele Cutler提出,并被注册成了商标。 展开全文
随机森林指的是利用多棵树对样本进行训练并预测的一种分类器。该分类器最早由Leo Breiman和Adele Cutler提出,并被注册成了商标。
信息
提出时间
1995年
领    域
数理科学
相关人物
Leo Breiman;Adele Cutler
中文名
随机森林
应    用
机器学习
外文名
Random forest
随机森林定义
在机器学习中,随机森林是一个包含多个决策树的分类器, 并且其输出的类别是由个别树输出的类别的众数而定。 Leo Breiman和Adele Cutler发展出推论出随机森林的算法。 而 "Random Forests" 是他们的商标。 这个术语是1995年由贝尔实验室的Tin Kam Ho所提出的随机决策森林(random decision forests)而来的。这个方法则是结合 Breimans 的 "Bootstrap aggregating" 想法和 Ho 的"random subspace method"以建造决策树的集合。
收起全文
精华内容
下载资源
问答
  • 随机森林

    2017-05-30 09:15:33
    随机森林

    前面介绍过决策树的三种实现:ID3算法C4.5算法CART算法。虽然这些决策树有很多优良的性质,比如训练时间

    复杂度较低,模型容易展示等等,但是同时单决策树有一些不好的地方,比如容易over-fitting,虽然剪枝可以减

    少这种现象的发生,但是还是不够的。为了减少决策树的不足,近年来又提出了许多模型组和+决策树的算法,这些算

    法都是生成N棵决策树,虽然这N棵树都很简单,但是它们综合起来就很强大了。今天就来介绍随机森林

     

     

    Contents

     

       1. 随机森林的基本原理

       2. 随机森林的具体步骤

       3. 随机森林的优点

       4. 随机森林开源框架

     

     

    1. 随机森林的基本原理

     

       在机器学习中,随机森林是一个包含多个决策树的分类器,并且其输出的类型是由每个树输出类别的众数而定。顾

       名思义,随机森林就是用随机的方式构建一个森林,这个森林由很多的决策树构成,随机森林的每棵决策树之间是

       没有关联的。在建好随机森林后,当有一个新的样本输入后,就让森林中的每棵决策树都进行判断,最终的预测结

       果就是这N棵决策树的众数对应的种类。

     

     

    2. 随机森林的具体步骤

     

       在随机森林中,最重要的是如何构造一个随机森林。假设数据样本数为N,那么每棵决策树采样的样本数也就是N,

       每个样本的属性个数为M,在每个决策树构造过程中,每个节点随机选择m个属性计算最佳分裂方式进行分裂。具

       体步骤如下

     

       (1)有放回地随机选择N个样本,用这N个样本来训练一棵决策树。

       (2)每个样本有M个属性,在决策树中需要分裂节点时,从这M个属性中随机选取m个属性,一般来说m << M,

           然后从这m个属性中采用某种策略选择最佳属性作为当前节点的分裂属性。

       (3)每棵决策树的每个节点的分裂都按照步骤(2)进行,直到不能分裂为止。

       (4)对于每棵决策树都这样建立,就得到了随机森林。

     

       随机森林的随机性体现在每棵树的训练样本是随机的,树中每个节点的分裂属性也是随机选择的。有了这2个随机

       因素,即使每棵决策树没有进行剪枝,随机森林也不会产生过拟合的现象。

     

       随机森林中有两个人为控制参数:森林中树的数量(一般选取值较大)和m值的大小(一般选取为M的平方根)。

     

     

    3. 随机森林的优点

     

       随机森林有很多优点,具体如下

     

       (1)分类结果更加准确

       (2)可以处理高维度的属性,并且不用做特征选择

       (3)即使有很大部分数据遗失,仍可以维持高准确度

       (4)学习过程快速

       (5)在训练完成后,能够给出哪些属性比较重要

       (6)容易实现并行化计算

       (7)在训练过程中,能够检测到属性之间的相互影响

     

     

    4. 随机森林开源框架

     

       在机器学习中,随机森林有很多开源框架,现在就来介绍一些。

     

       (1)Julia中的框架

     

           在julia中,有一个叫做DecisionTree的模块,里面有随机森林用于分类和回归。具体可以看下面链接

     

           链接:https://github.com/bensadeghi/DecisionTree.jl/blob/master/README.md

     

       (2)Python中的框架

     

           Python中有一个机器学习库,叫做ScikitLearn,有关于随机森林的框架。参考这里

     

       (3)其它语言中的随机森林

     

           除了上述语言的随机森林,还有R语言中的随机森林,百度也有随机森林框架,不过针对的是64位的Linux

           系统,更多框架网上查阅即可。

     

           Go语言的随机森林实现:https://github.com/fxsjy/RF.go

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,726
精华内容 5,890
关键字:

随机森林