1 问题描述
我想用XGBoost来建立一个模型,通过特征构造之后我需要做一个特征选择来减少特征数量、降维,使模型泛化能力更强,减少过拟合:
这里尝试通过查看特征重要性来筛选特征:
from xgboost import XGBRegressor
from xgboost import plot_importance
xgb = XGBRegressor()
xgb.fit(X, Y)
print(xgb.feature_importances_)
plt.figure(figsize=(20, 10))
plot_importance(xgb)
plt.show()
输出如下:
这里输出的特征重要性全部为 ‘nan’,画图也抛出了一个错误:ValueError:Booster.get_score()