随机数森林知识梳理

集成学习

:集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统。
一般结构:先产生一组“个体学习器”,在用某种策略将他们结合起来,个体学习器通过有一个现有的学习算法从训练数据产生,如决策树和Bp神经网络算法

个体学习器

:有包含单一结构的集成学习模型,这样的继承是同质的,个体学习器也叫做基学习器,相应的学习算法成为基学习算法。
集成学习通过将多个学习器进行结合,常常比单一学习器有更显著的泛化效果,基学习器也叫弱学习器。

boosting、bagging:

Boosting是一族将弱学习器提升为强学习器的算法,原理是先从出事训练集中训练出一个基学习器,再根据基学习器的表现对样本分布进行调整,使得之前基学习器做错的样本可以得到更多关注,然后基于调整后的样本进行下一次基学习器进行训练,如此反复进行,直到基学习器达到了实现事先指定的值T,最终将这T个基学习器进行加权组合。
Bagging:
Bagging是并行式集成算法方法的代表,采用自助采样法,从数据及中随机抽一个样本放到采样集中,再放回样本中,这样,我们采出了T个m个样本集,训练出T个基学习器。再将这些基学习器进行结合,Bagging通常在分类问题中应用投标的方法,对回归任务进行简单平均法。若票数一样,则随机选择。

随机森林的思想:

随机森林是Bagging的一个扩展变体,RF在以决策树为基学习器构建的,具体来说,传统决策树划分属性的依据是当前节点的属性集合,而在RF中,对基决策树的每个节点,先从该节点的属性集合中随机选择一个包含k个属性的子集。一般k取log2d【Breiman,2001a】
结合策略:平均法、投票法、学习法(通过另一种学习器进行结合,成为次级学习器或元学习器。首先训练出初级学习器,然后再生成一个由初学习器生成的新数据集进行训练次学习器)

随机森林的优点:

可以处理高维数据,不同进行特征选择(特征子集是随机选择)
模型的泛化能力较强
训练模型时速度快,成并行化方式,即树之间相互独立
模型可以处理不平衡数据,平衡误差
最终训练结果,可以对特种额排序,选择比较重要的特征
随机森林有袋外数据(OOB),因此不需要单独划分交叉验证集
对缺失值、异常值不敏感
模型训练结果准确度高
相对Bagging能够收敛于更小的泛化误差

随机森林的缺点:

当数据噪声比较大时,会产生过拟合现象
对有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响

sklearn参数解释

1,n_estimators=10:决策树的个数,越多越好,但是性能就会越差,至少100左右(具体数字忘记从哪里来的了)可以达到可接受的性能和误差率。

2,bootstrap=True:是否有放回的采样。

3,oob_score=False:oob(out of band,带外)数据,即:在某次决策树训练中没有被bootstrap选中的数据。多单个模型的参数训练,我们知道可以用cross validation(cv)来进行,但是特别消耗时间,而且对于随机森林这种情况也没有大的必要,所以就用这个数据对决策树模型进行验证,算是一个简单的交叉验证。性能消耗小,但是效果不错。

4,n_jobs=1:并行job个数。这个在ensemble算法中非常重要,尤其是bagging(而非boosting,因为boosting的每次迭代之间有影响,所以很难进行并行化),因为可以并行从而提高性能。1=不并行;n:n个并行;-1:CPU有多少core,就启动多少job。

5,warm_start=False:热启动,决定是否使用上次调用该类的结果然后增加新的
**

## 适用场景为:

**
数据维度相对低(几十维),同时对准确性有较高要求时。
因为不需要很多参数调整就可以达到不错的效果,基本上不知道用什么方法的时候都可以先试一下随机森林。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值