【发布时间】:2019-07-21 05:04:47
【问题描述】:
在使用 XGBoost 训练我的模型后,我尝试测试模型,但预测是某种浮点数,当我想要获得性能指标时会导致错误。这是代码:
import xgboost as xgb
import sklearn.metrics as mt
xg_reg = xgb.XGBRegressor(objective ='reg:linear', colsample_bytree = 0.3, learning_rate = 0.1,
max_depth = 5, alpha = 10, n_estimators = 10)
xg_reg.fit(X_train,Y_train)
y_pred = xg_reg.predict(X_test)
mt.f1_score(Y_test, y_pred)
这是错误:
ValueError: Target is multiclass but average='binary'. Please choose another average setting.
这在我使用其他增强模型(例如 AdaBoost 或 CatBoost)时从未发生过。我是否应该考虑一个阈值并将 +1 分配给高于阈值的那些,将 -1 分配给低于阈值的那些?任何形式的建议表示赞赏。
【问题讨论】:
-
回答没有帮助?
-
@desertnaut,是的,很有帮助!我应该用分类器替换回归模型
标签: python machine-learning scikit-learn xgboost