什么是Random Forest?
Random Forest是一个基于Bagging算法的,以CART(广义定义上是弱分类器如SVM,LR都可以)为基学习器,以优化方差为学习目标的的集成学习模型。
可以使用上回归和分类两种场景下:
在回归下,使用简单平均法。
在分类下,使用简单投票法。
Bagging算法,又称为0.632自助法,也就是我们常说的自助有放回。基于这个特性,我们在使用RF算法的时候已经帮助我们划分了训练集和测试集,无需再做交叉验证。
RF的另外一个特性就是随机选取远远小于总特征(M)数量的特征(m)作为基分类器的特征。(m<<M)。
上述两种特性使得RF模型能够并行大规模处理。
同时RF的基于方差进行优化的策略,有助于避免过拟合。
剪枝
RF模型不剪枝
RF的特征重要性评估
有2种,基于OOB的错误率以及
1.OOB错误率
2.mean decrease impurity平均不纯度减少(sklearn)
sklearn中可以直接调用
(随机森林中的变量重要度评估比较偏向于类别多的变量)
RF计算样本间相似度
原理:若两样本同时出现在相同叶结点的次数越多,则二者越相似。
过程:记样本个数为N,初始化N*N的零矩阵S,S[i,j]表示样本i和样本j的相似度。
样本i,j出现在相同叶结点的次数增加1次。
遍历结束,则S为样本间相似度矩阵。
参数
模型预测相关
1.max_features:每棵树的最大特征个数
2.n_estimators:树的个数
3.min_sample_leaf:最小叶结点
2.深度一般是15以上
模型训练相关
n_jobs:并行度
random_state:随机种子
oob_score:交叉验证
参考
机器学习-浅谈随机森林的话几个tricks:https://zhuanlan.zhihu.com/p/29408863
利用随机森林对特征重要性进行评估:https://blog.youkuaiyun.com/zjuPeco/article/details/77371645
随机森林对特征重要性排序:https://blog.youkuaiyun.com/qq_15111861/article/details/80366787
机器学习第九课(bagging,随机森林,样本不均衡):https://blog.youkuaiyun.com/akon_wang_hkbu/article/details/77608567
Random Forest算法参数解释及调优:https://blog.youkuaiyun.com/qq_16633405/article/details/61200502