随机森林总结

1、什么是随机森林?

随机森林是一种多功能的机器学习算法,能够执行回归分类的任务。同时,它也是一种数据降维手段,用于处理缺失值、异常值以及其他数据探索中的重要步骤,并取得了不错的成效。另外,它还担任了集成学习中的重要方法,在将几个低效模型整合为一个高效模型时大显身手。

在随机森林中,我们将生成很多的决策树,并不像在CART模型里一样只生成唯一的树。当在基于某些属性对一个新的对象进行分类判别时,随机森林中的每一棵树都会给出自己的分类选择,并由此进行“投票”,森林整体的输出结果将会是票数最多的分类选项;而在回归问题中,随机森林的输出将会是所有决策树输出的平均值


2、随机森林在Python的实现

#Import Library 
from sklearn.ensemble import RandomForestClassifier
#use RandomForestRegressor for regression problem
#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset

# Create Random Forest object
model= RandomForestClassifier(n_estimators=1000)
# Train the model using the training sets and check score
model.fit(X, y) #Predict Output
predicted= model.predict(x_test)

3、随机森林生成过程


a).假设我们设定训练集中的样本个数为N,然后通过有放回的重复多次抽样来获得这N个样本,这样的抽样结果将作为我们生成决策树的训练集;

b).如果有M个输入变量,每个节点都将随机选择m(m<M)个特定的变量,然后运用这m个变量来确定最佳的分裂点。在决策树的生成过程中,m的值是保持不变的
c).一直到不能够再分裂为止,每棵决策树都最大可能地进行生长而不进行剪枝; 
d).按照步骤1~3建立大量的决策树,这样就构成了随机森林了。
e).通过对所有的决策树进行加总来预测新的数据(在分类时采用多数投票,在回归时采用平均)。


4、随机森林的优点与缺点


优点:

a)正如上文所述,随机森林算法能解决分类与回归两种类型的问题,并在这两个方面都有相当好的估计表现;

b)随机森林对于高维数据集的处理能力令人兴奋,它可以处理成千上万的输入变量,并确定最重要的变量,因此被认为是一个不错的降维方法。此外,该模型能够输出变量的重要性程度,这是一个非常便利的功能。

c)在对缺失数据进行估计时,随机森林是一个十分有效的方法。就算存在大量的数据缺失,随机森林也能较好地保持精确性;
d)当存在分类不平衡的情况时,随机森林能够提供平衡数据集误差的有效方法;
e)模型的上述性能可以被扩展运用到未标记的数据集中,用于引导无监督聚类、数据透视和异常检测;

缺点:

a随机森林在解决回归问题时并没有像它在分类中表现的那么好,这是因为它并不能给出一个连续型的输出。当进行回归时,随机森林不能够作出超越训练集数据范围的预测,这可能导致在对某些还有特定噪声的数据进行建模时出现过度拟合。

b)对于许多统计建模者来说,随机森林给人的感觉像是一个黑盒子——你几乎无法控制模型内部的运行,只能在不同的参数和随机种子之间进行尝试。

【几个注意的点】

a) 随机森林有2个参数需要人为控制,一个是森林中树的数量,一般建议取很大。另一个是m的大小推荐m的值为M的均方根

b)随机森林:之前的两个随机采样(行和列)的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。【单决策树又有一些不好的地方,比如说容易over-fitting,虽然有一些方法,如剪枝可以减少这种情况,但是还是不够的。】



部分参考:http://www.pig66.com/weixintoutiao/kejika/2015-09-15/67672.html


  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值