Random Forest(随机森林)在软件缺陷预测领域的应用及其特点

这篇博客也就简单总结一些基础知识。从我个人的经验和别人的论文来看,Random Forest是最适用于软件缺陷预测的机器学习算法。例如这篇文章:

Osman, Haidar, Mohammad Ghafari, Oscar Nierstrasz, and Mircea Lungu. "An extensive analysis of efficient bug prediction configurations." In Proceedings of the 13th International Conference on Predictive Models and Data Analytics in Software Engineering, pp. 107-116. ACM, 2017.

里介绍,他们经过Extensive的分析,认为:“Random Forest results is the best machine learning model, followed by Support Vector Machines.”

另外,Random Forest还有两个比较好的特性:

1.不需要做特征归一化处理,通常来讲,由于各维特征的维度不同,需要进行归一化处理,但是如这里介绍的:“对于决策树和随机森林以及XGboost算法而言,特征缩放对于它们没有什么影响。”

2.不需要做特征选择,并不是说特征选择不重要,如上面这篇论文中所说:“We do not apply feature selection for RF because it performs feature selection internally.”

有这两点,就使Random Forest使用起来很方便。想想看RF是2001年提出的方法了(Breiman, Leo. "Random forests." Machine learning 45, no. 1 (2001): 5-32.),都这么多年了,竟然也没有什么好的替代算法,真是让人捉急啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章