理解特徵重要性
特徵重要性衡量每個特徵對目標的影響程度。這可協助您識別資料集問題並改善模型。特徵重要性由兩個相異的視覺化組成:permutation importance 和 SHAP importance。
對於特徵重要性最簡單的解釋是,比起變更任何其他變數,變更特徵重要性最高的變數更容易變更目標變數。變更其中兩個特徵重要性最高的變數時,影響可能會比變更一個更大,但原則是特徵重要性非常低的內容可能沒有太大的預測能力控制或變更可能不會造成差異。
使用特徵重要性
對用來訓練模型的資料識別問題時,特徵重要性會很實用。例如,假設我們嘗試預測銷售商機是否會成交,而我們忘了排除包含銷售成交日期的欄。這可能會是最具預測性的欄,因此有最高的特徵重要性。包括此會造成模型的表現優於實際運作,因為當我們嘗試預測銷售是否會成交的二進位結果時,不會取得成交日期。
特徵重要性也能協助您找到反覆改善模型的方式。特徵重要性最高的值有時候可以是良好的分區基礎。例如,自動支付旗標可能有很高的特徵重要性。我們可以使用此特徵分區資料,並針對設定自動支付的客戶訓練一個模型,並針對沒有自動支付的客戶訓練另一個模型。比起第一個模型,兩個模型可能可以表現得更好。
在其他情況下,可能可以擷取或設計更能代表特徵重要性較高的變數所描述之內容的特徵,而不必增加冗餘。例如,特徵重要性很高的變數可能是公司正在生產的產品系列。將產品系列分為幾個更具描述性的產品特徵會更有意義。
比較 permutation importance 和 SHAP importance
Permutation importance 和 SHAP importance 是衡量特徵重要性的替代方式。主要差異是 permutation importance 是基於模型效能降低,而 SHAP importance 則是基於特徵屬性的重要性。
如何使用值
Permutation importance 可用來:
-
理解要保留和排除哪些特徵。
-
檢查資料滲漏
-
理解哪些特徵對於模型準確度最重要。
-
引導其他特徵設計。
SHAP importance 可用來:
-
理解哪些特徵對預測結果影響最大。
-
深入探討特徵並理解該特徵不同的值如何影響預測。
-
理解對資料內的各列或子集最有影響的內容。
資料層級
會在整個資料集計算 Permutation importance。具體而言,即排除特徵會讓整個資料集的準確度有多少變化。這無法用來理解對於各列的影響。
會在列層級計算 SHAP importance,可用來理解什麼對於特定列很重要。值代表特徵如何影響單一列的預測 (相對於資料集中的平均結果)。
特徵值的影響
Permutation importance 無法用來理解特徵內的哪些值最重要。
SHAP importance 值可用來理解特定特徵內的值如何影響結果。
方向
Permutation importance 不包括方向。
SHAP importance 值為方向性。這可以是正向或負向,取決於以哪個方向影響預測結果。
重要性
permutation importance 的重要性衡量特徵對模型整體預測的重要程度。
SHAP importance 的重要性是特定特徵對列預測的影響程度,使之與資料集的平均預測不同。