隨機森林中特徵重要性和xgboost不同:
隨機森林中的特徵重要性主要是基於不純度(也可以叫做gini importance):
計算某乙個節點不純度為
其中,ω
k\omega_k
ωk,ωle
ft\omega_
ωleft
,ω ri
ght\omega_
ωright
分別為節點k以及其左右子節點中訓練樣本個數與總訓練樣本數目的比例,g
kg_k
gk,gle
ftg_gl
eft
,g ri
ghtg_
gright
分為為節點k以及其左右子節點的不純度。
節點不純度計算完成後,計算某個feature的不純度為
另外,為了使所有feature的重要性加起來等於1,需要每一feature的重要性進行normalization:
對於分類問題的話,就是gini不純度
對於回歸問題的話,mse(mean square error)或者mae(mean absolute error)
sklearn中的解釋
sklearn原始碼
參考文章:
隨機森林特徵篩選
剛看到一篇介紹特徵篩選的文章,裡面介紹基於模型的特徵排名,附加了乙個隨機森林的python程式,感覺挺好,趕緊mark下來。程式使用了skliearn機器學習庫,資料集為boston房屋 資料,源程式如下所示 fromsklearn.cross validationimportcross val s...
隨機森林特徵選擇
隨機森林具有準確率高 魯棒性好 易於使用等優點,這使得它成為了目前最流行的機器學習演算法之一。隨機森林提供了兩種特徵選擇的方法 mean decrease impurity 和mean decrease accuracy。隨機森林由多個決策樹構成。決策樹中的每乙個節點都是關於某個特徵的條件,為的是將...
隨機森林進行特徵選取
在隨機森林中某個特徵x的重要性的計算方式如下 首先是對隨機森林的每一顆決策樹,使用對應的oob 袋外資料 資料來進行計算他的袋外的資料誤差,記做error1 這樣每個決策樹都可以得到乙個error1,k顆數就有k個error1.然後就是要遍歷所有的特徵,來考察該特徵的重要性,考察重要性的方式是,隨機...