(機器學習)可解釋性(2) Permutation Importance

Ben Hu
4 min readFeb 2, 2020

--

Kaggle micro course: Machine Learning Explainability

https://becominghuman.ai/explainable-ai-and-the-future-of-machine-learning-de89c29dbd0f?gi=ed516a173810

Feature Importance

先掌握一個觀念:feature importance。

這是在說,

什麼特徵對於模型的預測結果的影響最大?

資料科學家已經發展出很多方法,試圖回答這個問題。這一講,我們會專注在其中一個方法: Permutation Importance

Permutation Importance

優點:

  1. 計算快
  2. 好懂

以下會跟課程的作法類似。說概念,然後接著實做。(比較數學上的表達要另外去Google or check paper)

概念

先假設我們有下面這個資料集,要預測20歲的身高。我們有10歲的身高、擁有的襪子數量等。

https://www.kaggle.com/dansbecker/permutation-importance

基本上我們會先把這個模型給建立完成,然後才會進行Permutation importance的運算。

假設我們已經把模型建立好了,找到最優的參數,也已經獲得理想的錯誤率和預測值了。

這時候,我們試著打亂其中一個自變數的排序,然後再跑一次預測。想當然而,預測結果會很難看,因為這個特徵相對於這個資料集的規則已經被我們弄亂了。

重點來了!如果我們把當初那個最好的預測結果,減去這個我們打亂某個變數所獲得的難看預測結果,這個差異,其實就代表了這個變數在已經建立好模型的重要性,不是嗎?

我們可以重複上面這個步驟,找出每一個變數在一個已經建立好模型的重要性!

以上,就是Permutation importance。

實做

這裡我們用的資料集是Kaggle裡面的fifa 2018 match statistics,我們透過每一隊的統計資料預測Man of the Game 獎落誰家。

因為主要是演示Permutation importance,以下直接就載入檔案、準備X, y, 分好訓練驗證資料,建模和訓練。

我們可以用eli5套件來調用PermutationImportance類

結果

上面的結果,可以看到最重要的feauture是 Goals scored。這也很common sense。

“Man of the Game”誕生的隊伍通常也會是進球率最多的那隊裡面。

(負數的分數其實都可以視作幾乎不重要的變數,因為演算法會去跑好幾次並加上誤差,因此因為一些機率是負的)

以上。謝謝觀看:)

--

--

Ben Hu

What I cannot create, I do not understand — Richard Feynman