回帰モデルと同じように分類モデルでもSHAP値を確認することができます。
分類モデルを元に、SHAPモデルを作成して、SHAP値を確認します。
分類系モデル
乳がんの診断データセットを用いた分類モデルのランダムフォレストを利用します。
今回は説明変数をすべて利用します。(8行目)
[Google Colaboratory]
1 | import pandas as pd |
[実行結果(一部略)]
分類系のランダムフォレストモデルが作成できました。
SHAPモデル
分類系モデルを引数にして、SHAPモデルを作成します。(1行目)
決定木モデルのランダムフォレストに対してはshap.TreeExplainerを利用します。
[Google Colaboratory]
1 | explainer = shap.TreeExplainer(rf_cls) |
[実行結果]
これでSHAPモデルが作成できました。
SHAP値
SHAP値を確認します。
[Google Colaboratory]
1 | shap_values = explainer.shap_values(X_test) |
[実行結果]
分類系モデルをベースにした場合、SHAP値は各カテゴリごとの配列になり、各カテゴリに対するSHAP値を出力します。
乳がんの診断データセットは二値分類なので2つのSHAP値が出力されます。
次回は回帰系と同じように、グラフを描画してSHAP値の解釈をしていきます。