MLの基本的な解釈手法の解説サイト

ざっと代表的な解釈手法を調べてpythonで動かした雑記。

ポイント

  • 基本は線形モデルで係数など読めば解釈できるのと同様
  • 各変数がどのように予測に貢献しているのかを知るためにいくつかのテクニックを使う

VIP (Variable Importance Plot)とPDP (Partial Dependence Plot)

VIPは比較的わかりやすい。定義域の他の値(データをシャッフルする)を入れてどれぐらい差が出るかという考え。 以下はRのパッケージで解説されているが、処理は簡単なのでpythonでもすぐかける。 dropout009.hatenablog.com VIPはSklearnのpermutationを使えばさくっとできる。 qiita.com PDPはそれを定義域全体でプロットしてどのような値をとるかを見るもの。

LIME(Local Interpretable Model-Agnostic Explanations)

非線形のモデルに対して局所的に線形近似して評価。局所で評価して変数の貢献度がわかるというのがどうしても解せない。 horomary.hatenablog.com

SHAP (SHapley Additive exPlanation)

JSでグラフィカルなビジュアライズをやってくれるので、いろいろデータを眺めたい時に便利。 VIPのような変数の寄与度もあり、またPDPのような変数の変化に伴う結果の動きなども見える。 dropout009.hatenablog.com