1行定義
Permutation Importanceとは、1つの特徴量の値をデータ間で並べ替えたときの予測性能の低下から、その特徴量の重要度を測る手法のことです。
くわしく
Permutation Importanceは、モデルがどの特徴量に頼って予測しているかを、モデル全体について調べる手法です。もとになった考え方は、2001年にBreimanがランダムフォレストの論文で示しました。のちに、どの種類のモデルにも使える方法として整理されています。
考え方
ある特徴量の値だけをデータの間でシャッフルすると、その特徴量と正解との対応が崩れます。モデルがその特徴量に強く頼っていれば、予測は大きく外れるようになります。頼っていなければ、性能はほとんど変わりません。料理の材料を1つだけすり替え、味の落ち方でその材料の大切さを測るようなものです。
計算例
検証データでの正解率が0.90のモデルがあるとします。
- 「年齢」の列だけを並べ替えると、正解率は0.72になりました。重要度は
0.90 - 0.72 = 0.18です。 - 「地域」の列では0.86になりました。重要度は
0.90 - 0.86 = 0.04です。 - 「会員番号」の列では0.90のままでした。重要度は
0.90 - 0.90 = 0です。
このモデルは年齢に最も頼っています。並べ替えは乱数に左右されるため、実際には何回か繰り返して平均します。
特徴と注意点
性能を測り直すだけなので再学習は要らず、モデルの種類も問いません。一方で、次の点に注意が必要です。
- 検証データやテストデータで計算するのが基本です。学習データでは、過学習で覚えた特徴量も重要に見えます。
- 相関の強い特徴量があると、互いに情報を補い合い、どちらも重要度が低く出ることがあります。
- 示されるのは、そのモデルにとっての重要さです。原因と結果の関係ではありません。
LIME・SHAPとの違い
LIMEやSHAPは、1件ごとの予測の理由を説明する局所的な手法です。Permutation Importanceは、データ全体での性能の変化を見る大域的な手法で、性能を測るために正解ラベル付きのデータを使います。
G検定での出題
出題のされ方
特徴量の値を並べ替えたときの性能の低下で重要度を測る仕組み、モデル全体の傾向を示す大域的な手法であること、相関の強い特徴量があるときの注意点、LIMEやSHAPとの違いが問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Permutation Importanceこのページの用語 | 1つの特徴量の値をデータ間で並べ替えたときの予測性能の低下から、その特徴量の重要度を測る手法 |
| SHAP | 協力ゲーム理論のシャープレイ値を使い、1件の予測値と平均的な予測値との差を、各特徴量の貢献度として公平に分け合う説明手法 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
Permutation Importanceは、学習済みモデルに並べ替えたデータを入力して性能を測り直すだけなので、特徴量ごとにモデルを学習し直す必要はない。
答えを見る
答え ◯ 正しい
特徴量を1つずつ取り除いて学習し直す方法との違いです。再学習が要らないため、計算の手間を抑えられます。
-
Permutation Importanceで重要度が高く出た特徴量は、目的変数を変化させる原因であると結論づけられる。
答えを見る
答え × 誤り
わかるのは、そのモデルが予測にその特徴量をどれだけ頼っているかです。原因と結果の関係までは示しません。モデルが疑似相関をとらえている場合もあります。
-
学習データで重要度を計算すると、過学習したモデルでは、未知のデータの予測には役立たない特徴量の重要度が高く出ることがある。
答えを見る
答え ◯ 正しい
学習データの偶然のくせを覚えた特徴量も、学習データの上では性能を支えて見えます。汎化性能への寄与を見るには、検証データやテストデータで計算します。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目33 モデルの解釈性)
- Leo Breiman, Random Forests, Machine Learning 45(1), 5–32 (2001)
- Aaron Fisher, Cynthia Rudin, Francesca Dominici, All Models are Wrong, but Many are Useful: Learning a Variable's Importance by Studying an Entire Class of Prediction Models Simultaneously (2018)
- scikit-learn User Guide, Permutation feature importance