前提
学校の機械学習の授業でLightGBMとXGboostを用いたある予測をしています.
変数の寄与を調べるためにshap valueを算出しようとしたところ,xgboostは1時間-2時間ほどで算出できたのですが,lightgbmは6時間以上たっても算出できていない状況です.
lightgbmのshap値を算出するにあたって注意する点や改善すると結果が早くなるポイントがあれば教えていただきたいです.
〇リストどちらのパラメータもある程度チューニング済みでtrainも滞りなく進行していくことが確認できています.
〇データ規模はlightGBMのほうが小さいです
- lightGBMに用いたデータ(200000, 98)
- XGboostに用いたデータ(200000, 245) (うち100個のカラムはlightGBMと共通です)
〇共通したデータについては同じデータになっています
初心者であまり状況がうまく説明できてないのですが.
必要な情報があれば追加していきます.よろしくお願いします.
Python3
1import shap 2 3shap.initjs() 4 5model= lgb.LGBMClassifier(**params_best).fit(x_train, y_train) 6 7 8 9explainer = shap.TreeExplainer(model) 10 11 12shap_values = explainer(x_train) <- この箇所で止まっている
Xgboostの場合⇓
Python3
1import shap 2 3shap.initjs() 4 5model= xgb.XGBClassifier(**params_best).fit(x_train, y_train) 6 7 8 9explainer = shap.TreeExplainer(model) 10 11 12shap_values = explainer(x_train) 13
あなたの回答
tips
プレビュー