前提
プログラミングと分析は独学なので,間違っている箇所やわかりにくい箇所があるかもしれません。ご容赦ください。
SHAP値を算出,図示(=結果を図で出力)したいと思っています。ご助力のほどどうぞよろしくお願いいたします。
R
1#XGBoostパラメータ(デフォルト値) 2params <- list( 3 eta=0.3, 4 gamma=0, 5 max_depth=6, 6 min_child_weight=1, 7 max_delta_step=0, 8 subsample=1, 9 colsample_bytree=1, 10 colsample_bylevel=1, 11 lambda=1, 12 alpha=0 13) 14#XGBoost 15~~xgb.result <-xgb.train(params=params, data=model.data.dm, 16label=df.train.dt$yyy, num_class=3, objective="multi:softmax", 17booster="gbtree", nrounds=100, verbose=1) #目的変数yyyは2値(0, 1)です~~ 18 19xgb.result <- xgb.train(params=params, data=model.data.dm, label=df.train.dt$Species, 20 num_class=3, objective="multi:softprob", booster="gbtree", nrounds=100, verbose=1)#irisデータのSpeciesを目的変数にする 21 22#評価 23pred <- predict(object=xgb.result,newdata=pre.data.dm) 24table(pred,df.test.dt$Species) 25 26#結果の出力 27shap_values <- shap.values(xgb_model = xgb.result, X_train = pre.data.dm)
実現したいこと
-SHAP値を算出,結果を図で出力したいです(「Feature Importance」「dependence plot」「summary plot」)
発生している問題・エラーメッセージ
Error in table(pred, df.test.dt$Species) : 全ての引数は同じ長さでなければなりません
該当のソースコード
R
1table(pred,df.test.dt$Species)
試したこと
インターネット上の情報を調べて複数のコードを書いてみましたがうまくいきせんでした。
例えば以下のサイトを参考にしました。
-https://www.r-bloggers.com/2019/03/a-gentle-introduction-to-shap-values-in-r/
-https://www.r-bloggers.com/2021/06/shap-analysis-in-9-lines/
-https://tjo.hatenablog.com/entry/2020/09/07/173000
補足情報(FW/ツールのバージョンなど)
Windows11
R version 4.1.3
あなたの回答
tips
プレビュー