天天看点

随机森林(Random Forest)模型随机森林(Random Forest)模型

随机森林(Random Forest)模型

随机森林是一种比较新的机器学习模型。经典的机器学习模型是神经网络,有半个多世纪的历史了。神经网络预测精确,但是计算量很大。上世纪八十年代Breiman等人发明分类树的算法(Breiman et al. 1984),通过反复二分数据进行分类或回归,计算量大大降低。2001年Breiman把分类树组合成随机森林(Breiman 2001a),即在变量(列)的使用和数据(行)的使用上进行随机化,生成很多分类树,再汇总分类树的结果。随机森林在运算量没有显著提高的前提下提高了预测精度。随机森林对多元公线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用(Breiman 2001b),被誉为当前最好的算法之一(Iverson et al. 2008)。

今年5月在人大组织的R语言会议上,我用朱鹮的例子介绍了随机森林的原理和应用。有些同学要求拷贝演讲材料。这个材料在统计之都(http://cos.name)上有。为了更方便地下载,我把它放在这里 Random Forest.pdf。

这个pdf共25页,首先是原理,然后列举R的两个运行随机森林包,后面有数据格式、代码和结果。随机森林完成两个任务:回归(y为连续变量时)和判别(y为分类变量时)。这两个的任务的代码略有不同。这个材料对于要编代码运行随机森林模型的人有用。没有任何理论基础的人(但是需要有R的知识),看过这个pdf后,可以应用上面的代码运行随机森林,解释因变量的贡献,进行预测。本人强烈建议使用者首先阅读Breiman在2001年发表的两篇文章(见参考文献),然后再应用这个模型。随机森林对数据前提条件的要求(正态性、独立性等)比广义线性模型等要宽松得多,应用前景非常广阔。

参考文献

Breiman, L. 2001a. Random forests. Machine Learning 45:5-32. 

Breiman, L. 2001b. Statistical modeling: The two cultures. Statistical Science 16:199-215.

Breiman, L., J. H. Friedman, R. A. Olshen, and C. J. Stone 1984. Classification and Regression Trees. Chapman and Hall, New York. 

Iverson, L. R., A. M. Prasad, S. N. Matthews, and M. Peters. 2008. Estimating potential habitat for 134 eastern US tree species under six climate scenarios. Forest Ecology and Management 254:390-406.

原文地址:http://blog.sciencenet.cn/blog-661364-615921.html(李欣海博客)

继续阅读