如何用機器學習演算法計算特徵重要性

2021-08-20 23:19:12 字數 1110 閱讀 1310

1.決策樹

使用基尼係數(gi)和資訊增益(ig)為決策樹計算特徵重要性。

(1)資訊增益(information gain)

假定當前樣本集合d中第k類樣本所佔我的比例為

假定離散屬性a有v個可能的取值

一般而言,資訊增益越大,則意味著使用屬性a來進行劃分所獲得的「純度提公升」越大。

(2)基尼指數(gini index)

採用與式(1)相同的符號,資料集d的純度可用基尼值來度量:

直觀來說,

採用與式(2)相同的符號表示,屬性a的基尼指數定義為

一般而言,基尼指數越小,則意味著使用屬性a來進行劃分所獲得的「純度提公升」越大。

下面將介紹兩種計算特徵重要性的方法:

(1)通過基尼指數計算節點的純度來衡量特徵重要性,具體實現方案見1。

1)對每一顆決策樹,選擇相應的袋外資料(out of bag,oob)​計算袋外資料誤差,記為erroob1.

所謂袋外資料是指,每次建立決策樹時,通過重複抽樣得到乙個資料用於訓練​決策樹,這時還有大約1/3的資料沒有被利用,沒有參與決策樹的建立。這部分資料可以用於對決策樹的效能進行評估,計算模型的**錯誤率,稱為袋外資料誤差。

​這已經經過證明是無偏估計的,所以在隨機森林演算法中不需要再進行交叉驗證或者單獨的測試集來獲取測試集誤差的無偏估計。

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

3)​假設森林中有n棵樹,則特徵x的重要性=∑(erroob2-erroob1)/n。這個數值之所以能夠說明特徵的重要性是因為,如果加入隨機雜訊後,袋外資料準確率大幅度下降(即erroob2上公升),說明這個特徵對於樣本的**結果有很大影響,進而說明重要程度比較高。

adaboost 是一種迭代演算法,其核心思想是針對同乙個訓練集訓練不同的分類器,即弱分類器,然後把這些弱分類器集合起來,構造乙個更強的最終分類器。

adaboost ,理論上我們簡單地平均底層分類器-cart決策樹提供的特徵重要性,且在所有迭代中,其最大深度為1。

4.logistic回歸和

svm邏輯回歸和支援向量機中特徵的重要性,通常被認為是特徵係數的絕對值,即自變數x對應的權重w。

重要機器學習演算法

從svm到隨機森林,再到梯度提公升機,他們都是機器學習領域應用廣泛的代表。svm的理解可以參考該部落格 svm,支援向量機就是一種將低維資料通過核函式對映到高維空間,對資料進行某種變換,使得資料在高維空間可以輕易的實現分離。隨機森林 發現隨機森林這個演算法在分類問題上效果十分的好,大多數情況下效果遠...

機器學習演算法 其他重要演算法

1 hmm 隱馬爾科夫模型的引數估計方法 em 演算法 2 boostrap 方法 從資料集中有放回的抽取n次,每次抽m個 3 focal loss 介紹一下 focal loss 主要是為了解決one stage 目標檢測中正負樣本比例嚴重失衡的問題。該損失函式降低了大量簡單負樣本中所佔的權重,可...

01 機器學習概述 特徵工程 機器學習演算法

機器學習是從資料中自動分析獲得規律 模型 並利用規律對未知資料進行 注 離散型是區間內不可分,連續型是區間內可分 結構 特徵值 目標值 特徵工程是將原始資料轉換為更好地代表 模型的潛在問題的特徵的過程,從而提高了對未知資料的模型準確性。直接影響模型的 結果。語法 dictvectorizer spa...