一、随机森林的基本思想
Bagging思想,bootstrap aggregating,思想就是从总体样本当中随机取一部分样本进行训练,通过多次这样的结果,进行投票获取平均值作为结果输出,这就极大可能的避免了不好的样本数据,从而提高准确度。
随机森林采用Bagging思想,重复采样,生成多棵树。
二、随机森林生成规则
1、数据集为N,随机从数据集里采样N个(与数据集大小相同)训练样本,作为一棵树训练的数据集。
2、数据集特征为M,随机从M个特征中选取m个特征子集(m<M),每次树分列时从m个特征子集中选择最优。
3、每棵树都尽最大程度的生长,并且没有剪枝过程。
随机森林中的随机,指的就是这两个随机。
构建多棵这样的决策树,然后通过这样的决策树来投票。
三、分类效果的影响因素
- 森林中两棵树的相关性,相关性越大,错误率越大。
- 森林中每棵树的分类能力,每棵树的分类能力越强,整个森林的的错误率越低。
- 减小特征选择个数m,树的相关性和分类能力也会相应的降低;增大m,两者也会随之增大。所以关键问题是如何选择最优的m(或者是范围)
四、优缺点
优点很多,训练快,效果好,处理高维度特征数据等等。
缺点是:
- 被证明在某些噪音较大的分类或回归问题上会过拟合。
- 对于有不同取值的属性的数据,取值划分较多的属性会对随机森林产生更大的影响。
五、随机森林如何处理缺省值
- 首先,选择数据的中位数或者众数作为缺省值的估计值。
- 然后,按照估计值跑一边随机森林,记录每一组数据在决策树中一步一步分类的路径,然后来判断哪组数据和缺失数据路径最相似。
- 第三,引入一个相似度矩阵,来记录数据