特徵重要性 是什麼?

Feature Importance:特徵重要性 的完整解釋

量化輸入特徵對機器學習模型預測結果影響程度的指標,用於特徵選擇與模型理解。

特徵重要性(Feature Importance)是機器學習模型解釋與特徵工程的核心概念,幫助資料科學家理解模型的決策依據,並優化特徵集合以提升模型效能與可維護性。

為何特徵重要性很關鍵

現實中的機器學習任務往往面對數十乃至數百個候選特徵,但並非所有特徵都對預測有貢獻,部分特徵甚至可能引入雜訊、降低效能或增加過擬合風險。特徵重要性提供量化依據,讓資料科學家能:

  • 移除低重要性特徵,簡化模型並降低計算成本
  • 識別關鍵驅動因子,提升業務洞察
  • 發現可能存在的數據洩漏(Data Leakage)
  • 滿足監管合規的可解釋性要求

主要計算方法

  1. 樹狀模型內建特徵重要性

決策樹及其集成模型(Random Forest、XGBoost、LightGBM)提供模型原生的特徵重要性計算:

  • Gini 重要性(Mean Decrease Impurity):計算每個特徵在所有分裂節點上造成的不純度(Gini / Entropy)降低量的加權平均。計算快速,但對高基數(High Cardinality)特徵有偏誤,傾向高估數值型特徵的重要性。
  • 增益(Gain):特徵在所有分裂點上平均帶來的目標函數增益,XGBoost 預設指標,比 Gini 重要性更穩健。
  • Cover:特徵在所有分裂點上平均覆蓋的樣本數比例。
  • 頻率(Weight/Frequency):特徵被選為分裂節點的次數比例,容易受到樹的結構影響,通常比增益穩定性低。
  1. 置換重要性(Permutation Importance)

模型無關的評估方法,步驟如下:

  1. 在驗證集上計算模型基準效能(如準確率、AUC)
  2. 將某特徵的值隨機打亂(破壞與目標的關聯性)
  3. 重新評估模型效能,效能下降越多代表該特徵越重要

優點:模型無關、在驗證集上計算因此反映真實泛化能力、不受特徵基數偏誤影響。缺點:對相關特徵的重要性分配可能低估(打亂一個相關特徵,另一個相關特徵可能補位)。

  1. 線性模型係數(Linear Model Coefficients)

在線性模型(如 Logistic Regression、Ridge)中,特徵係數的絕對值反映特徵對輸出的線性影響。但必須在特徵標準化後才能直接比較係數大小,否則規模不同的特徵係數無法橫向比較。

  1. SHAP 值(SHapley Additive exPlanations)

基於合作博弈論計算每個特徵對每個預測的邊際貢獻,取絕對值平均後可得全局特徵重要性。SHAP 提供最嚴謹的數學保證,同時支持局部解釋(個別預測)與全局解釋(整體重要性排序)。

  1. Gradient-based 方法(神經網路)

在深度學習中,可透過計算輸出對輸入特徵的梯度大小來評估重要性,包含:

  • 梯度絕對值(Gradient Magnitude)
  • Integrated Gradients
  • Saliency Maps(圖像特徵重要性視覺化)

特徵重要性的視覺化

常見視覺化方式:

  • 橫向條形圖(Bar Chart):最直觀,按重要性降序排列
  • SHAP Summary Plot:同時展示重要性排序與特徵值方向
  • Partial Dependence Plot(PDP):展示特定特徵對預測的邊際效應曲線

實務注意事項

  • 特徵重要性反映的是「對當前模型的貢獻」,而非特徵與目標的絕對因果關係
  • 高度相關的特徵可能因重要性被分散而各自顯得不重要,需搭配相關性分析
  • 不同方法(Gini、Gain、SHAP)對同一模型可能給出不同的重要性排序,應根據場景選擇最合適的方法
  • 在移除低重要性特徵前,應先在驗證集上評估移除後的模型效能,確認無顯著下降

常見問題