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.),都這麼多年了,竟然也沒有什麼好的替代算法,真是讓人捉急啊。

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