IN2OUT

学んだインプットをアウトプットするために始めました.誰かの力になれれば嬉しいです.

【#20 実装紹介】SHAPで特徴因子が予測に寄与した影響を可視化する

f:id:bonjiri_3939:20210912235458p:plain

こんにちは,ohashiです.

今回は説明可能AIで有名なSHAPを紹介します.

特徴因子の影響分析に興味がある方はぜひ!

記事内容

  • 学習済みモデルの各特徴因子が予測に与えた影響を可視化しました。

    動作環境

  • Ubuntu18.04
  • Python3.7
  • torch1.9+cu111

    使用データ

  • ボストンの価格予測データセット

    学習器

  • XGBoost

    実装

  • toy.py
import xgboost
import shap

X,y = shap.datasets.boston()

X_display,y_display = shap.datasets.boston(display=True)
model = xgboost.train({"learning_rate": 0.01}, xgboost.DMatrix(X, label=y), 100)

explainer = shap.TreeExplainer(model=model, feature_perturbation='tree_path_dependent', model_output='raw')
shap_values = explainer.shap_values(X=X)

shap.summary_plot(shap_values, X, plot_type="bar")

引用記事

qiita.com