説明可能なAI②(SHAP)

SHAPのインストール

SHAPライブラリのインストールを行います。

[Google Colaboratory]

1
!pip install shap

[実行結果]

正常にインストールができました。

SHAPモデルの作成

回帰モデルを引数にして、SHAPモデルを作成します。(2行目)

[Google Colaboratory]

1
2
3
import shap
explainer = shap.TreeExplainer(tree_reg)
explainer

前回記事で用意したのは決定木モデルなので、決定木モデル用のshap.TreeExplainerクラスを使っています。

このクラスは決定木以外にも、ランダムフォレストXgBoostなどで利用できます。

[実行結果]

SHAPモデルが作成できました。

SHAP値の確認

SHAP値を確認します。

[Google Colaboratory]

1
2
shap_values = explainer.shap_values(X_test)
shap_values

[実行結果]

SHAP値は、入力したデータセットと同じ次元の要素数になり、値が大きいほど予測への影響が大きくなります。

行方向に見れば特定の予測に各説明変数がどれくらい貢献したかを確認できます。

列方向に見れば予測全体でその説明変数がどれくらい貢献したかを確認できます。


SHAP値には、グラフを描画する仕組みが用意されています。

次回は各グラフを表示してみます。