我试图了解 xgboost.XGBRegressor 和 xgboost.sklearn.XGBClassifier 之间的区别。
有人可以简明扼要地解释其中的区别吗?
因为当我用完全相同的数据拟合两个分类器时,我会得到完全不同的性能。
这就是我拟合数据的方式。
clf = xgboost.XGBRegressor(alpha=c)
#clf = xgboost.sklearn.XGBClassifier(alpha=c)
clf.fit(X_train, y_train)
y_pred = clf.predict(X_test)
print('Model roc auc score: %0.3f' % roc_auc_score(y_test, y_pred, average='macro', sample_weight=None))
print('Model pr auc score: %0.3f' % average_precision_score(y_test, y_pred))
当 clf = xgboost.sklearn.XGBClassifier(alpha=c)
模型 roc auc 得分:0.544
模型 pr auc 得分:0.303
当 clf = xgboost.XGBRegressor(alpha=c)
模型 roc auc 得分:0.703
模型 pr auc 得分:0.453
什么会导致这种性能差异?