ML之RF:随机森林RF算法简介、应用、经典案例之详细攻略
目录
随机森林RF算法简介
1、RF基本的构建算法过程
2、RF算法相关文献、论文
随机森林RF算法的应用
1、RF用于回归
2、RF用于分类
随机森林RF算法的经典案例
1、基础用法
随机森林RF算法简介
随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。它包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林是一种灵活且易于使用的机器学习算法,即便没有超参数调优,也可以在大多数情况下得到很好的结果。随机森林也是最常用的算法之一,因为它很简易,既可用于分类也能用于回归。
随机森林集成了所有的分类投票结果,将投票次数最多的类别指定为最终的输出,这就是一种最简单的Bagging思想。
1、RF基本的构建算法过程
- 1. 用N来表示训练用例(样本)的个数,M表示特征数目。
- 2. 输入特征数目m,用于确定决策树上一个节点的决策结果;其中m应远小于M。
- 3. 从N个训练用例(样本)中以有放回抽样的方式,取样N次,形成一个训练集(即bootstrap取样),并用未抽到的用例(样本)作预测,评估其误差。
- 4. 对于每一个节点,随机选择m个特征,决策树上每个节点的决定都是基于这些特征确定的。根据这m个特征,计算其最佳的分裂方式。
- 5. 每棵树都会完整成长而不会剪枝,这有可能在建完一棵正常树状分类器后被采用)。
2、RF算法相关文献、论文
1. Panda Biswanath , Joshua S. Herbach , Sugato Basu , and Roberto J. Bayardo .( 2009 ).PLANET: Massively Parallel Learning of Tree Ensembles with MapReduce. Proceedings of the 35th International Conference on Very Large Data Bases. Retrieved from http://research.google.com/pubs/pub36296.html .
2. Leo Breiman . (September, 1994 ). Bagging Predictors. Technical Report No. 421.Department of Statistics, UC Berkeley. Retrieved from http:// http://statistics.berkeley.edu/sites/default/files/tech-reports/421.pdf .
3. Leo Breiman . (2001). Random forests . Machine Learning g , 45 : 5 – 32 . Retrieved from http://oz.berkeley.edu/~breiman/randomforest2001.pdf .
4. J.H. Friedman . (2001). Greedy Function Approximation: A Gradient Boosting Machine .Annals of Statistics,29(5): 1189–1232.Retrieved from http://statweb. http://stanford.edu/~jhf/ftp/trebst.pdf.
5. J.H. Friedman . (2002). Stochastic Gradient Boosting . Computational Statistics and Data Analysis , 38 (4): 367– 378 . Retrieved from http://statweb.stanford.edu/~jhf/ftp/stobst.pdf .
随机森林RF算法的应用
1、RF用于回归
klearn.ensemble.RandomForestRegressor的类构造函数
函数API官方解释:https://scikit-learn.org/stable/modules/generated/sklearn.ensemble.RandomForestRegressor.html#sklearn.ensemble.RandomForestRegressor
(1)、重点参数解释n_estimators:整型,可选(缺省值为10)。此参数指定集成方法中决策树的数目。通常缺省值就可以工作得很好。如果想获得最佳的性能,就需要多于10 个决策树。可以通过做实验尝试确定最佳的决策树数目。正如全书始终强调的,合适的模型复杂度(决策树的深度和决策树的数目)取决于问题的复杂度和可获得的数据的规模。比较好的尝试是100 ~ 500。