説明可能なAI⑨(dependence_plotで可視化)

dependence_plot

dependence_plotを使うと、各カテゴリごとに2つのスコア(説明変数のSHAP値とその説明変数)を可視化することができます。

今回は、worst concave points(輪郭の凹部の数の最悪値)について可視化を行います。(3行目)

[Google Colaboratory]

1
2
3
4
5
6
for i in range(2):
print("Class ", i)
shap.dependence_plot(ind="worst concave points",
interaction_index=None,
shap_values=shap_values[i],
features=X_test)

乳がんの診断データセットは二値分類なので、ループさせて各カテゴリごとのSHAP値でdependence_plotを表示しています。

[実行結果]

同じデータに対して陽性か陰性かという2つのカテゴリに対するスコアが表示されています。

上図が陽性で、下図が陰性に関するグラフになります。

縦軸がSHAP値を表し、横軸がworst concave points(輪郭の凹部の数の最悪値)を表しています。

worst concave pointsが高ければカテゴリ0(陽性)に分類するSHAP値が高くなり、カテゴリ1(陰性)はその逆になっていることが確認できます。