随机森林计算特征重要性推导
調用了Sklearn函數包中RandomForestRegressor.feature_importances_函數計算特征重要性。隨機森林(RandomForest)是由一棵棵決策樹(Decision Tree)組成,因此為了求得每個特征的重要性,首先需要知道每個特征在每一棵決策樹上所做的貢獻量,這種貢獻量的計算方法是求解在該特征在某個節點上,分枝前后的基尼指數(Gini)差值,用同樣的的方法求得其他特征的貢獻值,最后將某個特征基尼指數變化值除以所有特征基尼指數變化值之,求得某個特征歸一化后的貢獻量,并根據貢獻量大小進行排序。具體計算方法如下:
計算方法:
設:k表示有k個類別,而pk表示第k個類別的權重,則可得:
而,對于特征j,其在節點m上基尼指數變化量可以通過計算該特征在該節點分枝前的基尼指數與分枝后基尼指數的差,求得。設VIMjm表示特征j在節點m上的基尼指數變化值,GIm表示分枝前的基尼指數,GIl和GIr則為節點m分枝后,產生的兩個新節點的基尼指數。可得:
設,特征j在決策樹i中出現在節點集合M中,則我們可以求得特征j在第i棵決策樹上的基尼指數變化量:
若,在隨機森林中有n棵決策樹,則特征j的總基尼指出變化量為:
則,第特征j貢獻量歸一化以后的值記為特征j的貢獻量,計算方法如下:
VIM’j表示歸一化以后得到特征j的貢獻量,
表示所有特征的基尼指數差之和。
歡迎訪問個人站:www.edumind.tech
總結
以上是生活随笔為你收集整理的随机森林计算特征重要性推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qlabel文本改变信号_改变人类历史的
- 下一篇: 文件上载限制4gb_新get!百度网盘破