特徵重要度整理 隨機森林 邏輯回歸

2021-08-28 18:35:17 字數 1387 閱讀 2793

一、 隨機森林輸出特徵重要度

用隨機森林進行特徵重要性評估的思想其實很簡單,通俗來講就是看每個特徵在隨機森林中的每顆樹上做了多大的貢獻,取平均值,然後比較特徵之間的貢獻大小。

常見的計算方法有兩種,一種是平均不純度的減少(mean decrease impurity),常用gini /entropy /information gain測量,現在sklearn中用的就是這種方法;另一種是平均準確率的減少(mean decrease accuracy),常用袋外誤差率去衡量。

平均不純度計算以gini指數為例:將變數重要性評分(variable importance measures)用vim來表示,將gini指數用

gini指數的計算公式為

其中,k表示有k個類別,pmk表示節點m中類別k所佔的比例。 直觀地說,就是隨便從節點m中隨機抽取兩個樣本,其類別標記不一致的概率。 特徵xj在節點m的重要性,即節點m分枝前後的gini指數變化量為

其中,如果,特徵xj在決策樹ii中出現的節點在集合m中,那麼xj在第i顆樹的重要性為 

假設rf中共有n顆樹,那麼              

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

平均準確率的減少(mean decrease accuracy)即對每個特徵加躁,看對結果的準確率的影響。影響**明這個特徵不重要,反之重要,具體步驟如下:

1、對於隨機森林中的每一顆決策樹,使用相應的oob(袋外資料)資料來計算它的袋外資料誤差,記為erroob1.

2、隨機地對袋外資料oob所有樣本的特徵x加入雜訊干擾(即隨機的改變樣本在特徵x處的值),再次計算它的袋外資料誤差,記為erroob2.

3、假設隨機森林中有ntree棵樹,那麼對於特徵x的重要性=∑(erroob2-erroob1)/ntree,之所以可以用這個表示式來作為相應特徵的重要性的度量值是因為:若給某個特徵隨機加入雜訊之後,袋外的準確率大幅度降低,則說明這個特徵對於樣本的分類結果影響很大,也就是說它的重要程度比較高。

風險:隨機森林的變數重要性衡量的並不完全是變數對目標變數**的貢獻能力,而是在這個模型中對目標變數**的貢獻能力,所以單純用來評價變數的重要性值得**。例如:我們有a和b兩個變數,且a和b之間有較強的相關性,如果a對模型貢獻度較大,由於b很像a,所以b也應該對模型貢獻較大,但實際上若在隨機森林中輸出a的特徵重要度得分高,b得分往往會很低。

二、邏輯回歸計算特徵重要度

變數貢獻率,反應各自變數對因變數影響程度的相對大小,計算步驟如下:

1. 對所有自變數標準化;

2. 對標準化後的自變數建邏輯回歸模型,取各變數回歸係數的絕對值;

3. 計算各變數回歸係數絕對值的佔比即為特徵貢獻率。

參考:

1. 2. 

3. 

邏輯回歸與隨機森林

1.邏輯回歸 邏輯回歸從統計學的角度看屬於非線性回歸中的一種,它實際上是一種分類方法,主要用於兩分類問題 regression問題的常規步驟為 尋找h函式 即假設估計的函式 構造j函式 損失函式 想辦法使得j函式最小並求得回歸引數 資料擬合問題 1 利用了logistic函式 或稱為sigmoid函...

隨機森林,隨機森林中進行特徵重要性

用有抽樣放回的方法 bootstrap 從樣本集中選取n個樣本作為乙個訓練集 用抽樣得到的樣本集生成一棵決策樹。在生成的每乙個結點 隨機不重複地選擇d個特徵 利用這d個特徵分別對樣本集進行劃分,找到最佳的劃分特徵 可用基尼係數 增益率或者資訊增益判別 重複步驟1到步驟2共k次,k即為隨機森林中決策樹...

隨機森林計算特徵重要性推導

呼叫了sklearn函式包中randomforestregressor.feature importances 函式計算特徵重要性。隨機森林 randomforest 是由一棵棵決策樹 decision tree 組成,因此為了求得每個特徵的重要性,首先需要知道每個特徵在每一棵決策樹上所做的貢獻量,...