xgboost和隨機森林特徵重要性計算方法

2021-10-19 14:09:43 字數 782 閱讀 3889

隨機森林中特徵重要性和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.然後就是要遍歷所有的特徵,來考察該特徵的重要性,考察重要性的方式是,隨機...