随机森林(Random Forest)算法

一、原理: 

随机森林由Leo Breiman(2001)提出的一种分类算法,它通过自助法(bootstrap)重采样技术,从原始训练样本集N中有放回地重复随机抽取n个样本生成新的训练样本集合训练决策树,然后按以上步骤生成m棵决策树组成随机森林,新数据的分类结果按分类树投票多少形成的分数而定。其实质是对决策树算法的一种改进,将多个决策树合并在一起,每棵树的建立依赖于独立抽取的样本。 单棵树的分类能力可能很小,但在随机产生大量的决策树后,一个测试样本可以通过每一棵树的分类结果经统计后选择最可能的分类,是一种bagging的思想。

决策树参考文章:https://blog.csdn.net/qq_32172681/article/details/98470966

bagging参数文章:https://blog.csdn.net/qq_32172681/article/details/98470391

 

二、过程:

1)从样本集中有放回随机采样选出n个样本; 
2)从所有特征中随机选择k个特征,对选出的样本利用这些特征建立决策树(一般是CART,也可是别的或混合); 
3)重复以上两步m次,即生成m棵决策树,形成随机森林; 
4)对于新数据,经过每棵树决策,最后投票确认分到哪一类。 

 

三、优缺点:

1、优点:

1) 每棵树都选择部分样本及部分特征,一定程度避免过拟合; 
2) 每棵树随机选择样本并随机选择特征,使得具有很好的抗噪能力,性能稳定; 
3) 能处理很高维度的数据,并且不用做特征选择; 
4) 适合并行计算; 
5) 实现比较简单; 

2、缺点:

1) 参数较复杂; 
2) 模型训练和预测都比较慢。 

 

你可能感兴趣的:(机器学习,随机森林)