隨機森林是否需要交叉驗證+特征的重要性


隨機森林不需要交叉驗證!

 

隨機森林屬於bagging集成算法,采用Bootstrap,理論和實踐可以發現Bootstrap每次約有1/3的樣本不會出現在Bootstrap所采集的樣本集合中。故沒有參加決策樹的建立,這些數據稱為袋外數據oob,歪點子來了,這些袋外數據可以用於取代測試集誤差估計方法,可用於模型的驗證。

 

袋外數據(oob)誤差的計算方法如下:

 

  • 對於已經生成的隨機森林,用袋外數據測試其性能,假設袋外數據總數為O,用這O個袋外數據作為輸入,帶進之前已經生成的隨機森林分類器,分類器會給出O個數據相應的分類
  • 因為這O條數據的類型是已知的,則用正確的分類與隨機森林分類器的結果進行比較,統計隨機森林分類器分類錯誤的數目,設為X,則袋外數據誤差大小=X/O

 

隨機森林樹模型的特征重要性排序常見有兩種方法

1、基於OOB的評估指標

先用訓練好的模型對OOB數據進行打分,計算出AUC或其他業務定義的評估指標;接着對OOB數據中的每個特征:(1) 隨機shuffle當前特征的取值(即依次對每個特征賦予一個隨機數,觀察算法性能的變化);(2) 重新對當前數據進行打分,計算評估指標;(3)計算指標變化率。按照上面方式,對每個特征都會得到一個變化率,最后按照變化率排序來量化特征重要性。

2、基於gini指數

就是看看每個特征在隨機森林中的每顆樹上做了多大的貢獻,然后取個平均值,最后比一比特征之間的貢獻大小。對於生成的每棵樹,計算每個分裂節點的Gini指數,計算公式如下:

 

 其中,K表示K個類別, [公式] 表示第 [公式]個分裂點中k類別所占的比例。特征 [公式] 在節點m的重要性可以通過分裂前后的特征 [公式] 的差值來表示,可以表示為

 

 最后,把所有求得的重要性評分做一個歸一化處理即可

具體計算例子可以參考【3】

Reference:

【1】https://zhuanlan.zhihu.com/p/77473961

【2】https://zhuanlan.zhihu.com/p/77480254

【3】https://www.jianshu.com/p/cfd7e2d385da

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM