回帰タスクの機能選択をXGBRegressor()
で実行しようとしています。XGBoost - XGBRegressorを使用した機能選択
より正確には、私が知っているしたいと思います:
- を私は回帰のために使用することができ
XGBClassifier
と利用方法feature_importances_
、のようなものがある場合。 - それは最後に、私は、この問題を解決した
XGBRegressor()
回帰タスクの機能選択をXGBRegressor()
で実行しようとしています。XGBoost - XGBRegressorを使用した機能選択
より正確には、私が知っているしたいと思います:
XGBClassifier
と利用方法 feature_importances_
、のようなものがある場合。XGBRegressor()
で使用されている場合XGBoostの方法plot_importance()
は、信頼性がある場合:ここでは
model.booster().get_score(importance_type='weight')
私の解決策は、(Xnamesが機能名を指しています):
def xgb_feature_importance(model_xgb, fnames=None):
b = model_xgb.booster()
fs = b.get_fscore()
all_features = [fs.get(f, 0.) for f in b.feature_names]
all_features = np.array(all_features, dtype=np.float32)
all_features_imp = all_features/all_features.sum()
if fnames is not None:
return pd.DataFrame({'X':fnames, 'IMP': all_features_imp})
else:
return all_features_imp