特徵重要性 是什麼?
Feature Importance:特徵重要性 的完整解釋
量化輸入特徵對機器學習模型預測結果影響程度的指標,用於特徵選擇與模型理解。
特徵重要性(Feature Importance)是機器學習模型解釋與特徵工程的核心概念,幫助資料科學家理解模型的決策依據,並優化特徵集合以提升模型效能與可維護性。
為何特徵重要性很關鍵
現實中的機器學習任務往往面對數十乃至數百個候選特徵,但並非所有特徵都對預測有貢獻,部分特徵甚至可能引入雜訊、降低效能或增加過擬合風險。特徵重要性提供量化依據,讓資料科學家能:
- 移除低重要性特徵,簡化模型並降低計算成本
- 識別關鍵驅動因子,提升業務洞察
- 發現可能存在的數據洩漏(Data Leakage)
- 滿足監管合規的可解釋性要求
主要計算方法
- 樹狀模型內建特徵重要性
決策樹及其集成模型(Random Forest、XGBoost、LightGBM)提供模型原生的特徵重要性計算:
- Gini 重要性(Mean Decrease Impurity):計算每個特徵在所有分裂節點上造成的不純度(Gini / Entropy)降低量的加權平均。計算快速,但對高基數(High Cardinality)特徵有偏誤,傾向高估數值型特徵的重要性。
- 增益(Gain):特徵在所有分裂點上平均帶來的目標函數增益,XGBoost 預設指標,比 Gini 重要性更穩健。
- Cover:特徵在所有分裂點上平均覆蓋的樣本數比例。
- 頻率(Weight/Frequency):特徵被選為分裂節點的次數比例,容易受到樹的結構影響,通常比增益穩定性低。
- 置換重要性(Permutation Importance)
模型無關的評估方法,步驟如下:
- 在驗證集上計算模型基準效能(如準確率、AUC)
- 將某特徵的值隨機打亂(破壞與目標的關聯性)
- 重新評估模型效能,效能下降越多代表該特徵越重要
優點:模型無關、在驗證集上計算因此反映真實泛化能力、不受特徵基數偏誤影響。缺點:對相關特徵的重要性分配可能低估(打亂一個相關特徵,另一個相關特徵可能補位)。
- 線性模型係數(Linear Model Coefficients)
在線性模型(如 Logistic Regression、Ridge)中,特徵係數的絕對值反映特徵對輸出的線性影響。但必須在特徵標準化後才能直接比較係數大小,否則規模不同的特徵係數無法橫向比較。
- SHAP 值(SHapley Additive exPlanations)
基於合作博弈論計算每個特徵對每個預測的邊際貢獻,取絕對值平均後可得全局特徵重要性。SHAP 提供最嚴謹的數學保證,同時支持局部解釋(個別預測)與全局解釋(整體重要性排序)。
- Gradient-based 方法(神經網路)
在深度學習中,可透過計算輸出對輸入特徵的梯度大小來評估重要性,包含:
- 梯度絕對值(Gradient Magnitude)
- Integrated Gradients
- Saliency Maps(圖像特徵重要性視覺化)
特徵重要性的視覺化
常見視覺化方式:
- 橫向條形圖(Bar Chart):最直觀,按重要性降序排列
- SHAP Summary Plot:同時展示重要性排序與特徵值方向
- Partial Dependence Plot(PDP):展示特定特徵對預測的邊際效應曲線
實務注意事項
- 特徵重要性反映的是「對當前模型的貢獻」,而非特徵與目標的絕對因果關係
- 高度相關的特徵可能因重要性被分散而各自顯得不重要,需搭配相關性分析
- 不同方法(Gini、Gain、SHAP)對同一模型可能給出不同的重要性排序,應根據場景選擇最合適的方法
- 在移除低重要性特徵前,應先在驗證集上評估移除後的模型效能,確認無顯著下降