首页 > 其他 > 详细

随机森林(分类与回归)

时间:2017-08-19 00:32:06      阅读:401      评论:0      收藏:0      [点我收藏+]

随机森林(可用于分类回归

 

随机森林主要应用于回归和分类。

随机森林在运算量没有显著提高的前提下提高了预测精度。

 

1、简介

随机森林由多棵决策树构成,且森林中的每一棵决策树之间没有关联,模型的最终输出由森林中的每一棵决策树共同决定。

处理分类问题时对于测试样本,森林中每棵决策树会给出最终类别,最后综合考虑森林内每一棵决策树的输出类别,以

投票方式来决定测试样本的类别处理回归问题时则以每棵决策树输出的均值为最终结果

 

2、随机森林的随机性

体现在两个方面:

Ⅰ:样本的随机性,从训练集中随机抽取一定数量的样本,作为每颗决策树的根节点样本;

Ⅱ:属性的随机性,在建立每颗决策树时,随机抽取一定数量的候选属性,从中选择最合适的属性作为分裂节点。

 

3、随机森林算法框架

技术分享

 

 具体步骤:

(1)从训练集中随机抽取一定数量的样本,作为每棵树的根节点样本;

(2)在建立决策树时,随机抽取一定数量的候选属性,从中选择最合适属性作为分裂节点;(决策树构造见《决策树分类算法及python代码实现案例》)

(3)建立好随机森林以后,对于测试样本,进入每一颗决策树进行类型输出或回归输出;若是分类问题,以投票的方式输出最终类别,若是回归问题,

    每一颗决策树输出的均值作为最终结果。

 

技术分享

在建立每一棵决策树的过程中,有两点需要注意:采样完全分裂

首先是两个随机采样的过程,随机森林对输入的数据要进行行、列的采样。对于行采样,采用有放回的方式,也就是在采样得到的样本集合中,可能有重复的样本。

假设输入样本为N个,那么采样的样本也为N个。这样使得在训练的时候,每一棵树的输入样本都不是全部的样本,使得相对不容易出现过拟合over-fitting。

然后进行列采样,从M个feature中,选择m个(m << M)。之后就是对采样之后的数据使用完全分裂的方式建立出决策树,这样决策树的某一个叶子节点要么是无

法继续分裂的,要么里面的所有样本的都是指向的同一个分类。

一般很多的决策树算法都一个重要的步骤 – 剪枝,但是这里不这样干,由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。

每一棵决策树就是一个精通于某一个窄领域的专家(因为我们从M个feature中选择m让每一棵决策树进行学习),这样在随机森林中就有了很多个精通不同领域的专家,

对一个新的问题(新的输入数据),可以用不同的角度去看待它,最终由各个专家,投票得到结果。

 

4、可优化的参数

决策树算法中可优化的参数有:最小叶节点样本数、剪枝方式等。

随机森林中可优化的参数有:森林中决策树的棵数。

 

随机森林(分类与回归)

原文:http://www.cnblogs.com/ahu-lichang/p/7392566.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!