属性错误:“XGBRegressor”对象没有属性“feature_names_in_”

问题描述 投票:0回答:2

我正在使用 XGBRegressor 构建模型。 拟合模型后,我想可视化特征重要性。

reg = xgb.XGBRegressor(base_score=0.5, booster='gbtree', n_estimators=1000)
reg.fit(X_train, y_train, eval_set=[(X_train, y_train), (X_test, y_test)], verbose=100)


fi = pd.DataFrame(data=reg.feature_importances_, index=reg.feature_names_in_, columns=['importance'])
fi.sort_values('importance').plot(kind='barh', title='Feature Importance')
plt.show()

我收到错误

AttributeError: 'XGBRegressor' object has no attribute 'feature_names_in_'
。我已经升级了 sklearn 并重新启动了 jupyter 笔记本,但仍然收到此错误。我所有的功能名称都是字符串。

我没有问题获得

feature_importances_
.

python xgboost
2个回答
2
投票

reg.get_booster().feature_names
试试这个吧


0
投票

reg.get_booster().feature_names

  • 有效
© www.soinside.com 2019 - 2024. All rights reserved.