shapによるモデルの解釈
機械学習の結果を解釈し、どういったロジックで予測が行われているのかをある程度把握する必要がある。
機械学習に馴染みのないスタッフの場合、完全にブラックボックスから導かれたデータに従うとなると抵抗を感じることが普通。なので肌感覚と機械学習の結果を馴染ませるようなプロセスが必要になる。
shapは予測結果の解釈を助ける理論的な枠組み。詳細はDataRobotの解説ページが詳しい。
# shapによる評価
!pip install shap
import shap
ライブラリのインストールも容易
interpret_model(final_rf)
# 寄与度の高い変数から並ぶ
# 赤が正の値、青が負の値
# istatを見ると、右に行くほど青が増す=目的変数とistatは負の相関があると分かる
変数の影響度をグラフィカルに把握することができる。
変数の影響力や影響度が把握しやすいので、現場の感覚の答え合わせとしても使えるし、意外な影響要素などの発見にも役立つ。
忘れてはならないのは「それが実業務で価値を生み出すかどうか」の視点です。あまり重要でないにも関わらず SHAP の説明性や解釈性の高さに惚れ込んでしまったが故に、アンサンブルモデルなど精度の高いモデルのことを見ずにビジネス価値を目減りさせてしまうことがないよう、それぞれの特性を理解して使うことが大切です。
https://www.datarobot.com/jp/blog/explain-machine-learning-models-using-shap/
肝に命じよう。