2017-06-22 2 views
0

回帰タスクの機能選択をXGBRegressor()で実行しようとしています。XGBoost - XGBRegressorを使用した機能選択

より正確には、私が知っているしたいと思います:

  • を私は回帰のために使用することができXGBClassifierと利用方法 feature_importances_、のようなものがある場合。
  • それは最後に、私は、この問題を解決したXGBRegressor()

答えて

1

で使用されている場合XGBoostの方法plot_importance()は、信頼性がある場合:ここでは

model.booster().get_score(importance_type='weight')

0

私の解決策は、(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 
関連する問題