説明可能なAI⑩(force_plotで貢献度を可視化)

force_plot

force_plotを使うと、SHAP値と特徴量の貢献度を視覚化することができます。

[Google Colaboratory]

1
2
3
4
5
shap.initjs()
row_index = 2
for i in range(2):
print("Class ", i)
display(shap.force_plot(explainer.expected_value[i], shap_values[i][row_index,:], X_test.iloc[row_index,:]))

陽性と陰性でループさせて、各カテゴリごとのSHAP値でforce_plotを実行し、貢献度を表示しています。(3~5行目)

[実行結果]

同じデータに対して陽性か陰性かという2つの分類クラスに対するスコアと、そのスコアに対する各説明変数の貢献度が表示されています。

図の上側の陽性が0.0付近で、図の下側の陰性が1.0付近になっています。