我在同一个数据集上运行 xgboost 和 elastic-net 来解决分类问题,比如说我们有
y_train, y_test
y_train_xgboost_prediction, y_test_xgboost_prediction
y_train_elastic_net_prediction, y_test_elastic_net_prediction
我发现 xgboost 给出的预测平均值远高于实际标签,即
average(y_train_xgboost_prediction) > average(y_train)
average(y_test_xgboost_prediction) > average(y_test)
而弹性网络给出的预测平均值与实际标签的平均值相似,即
average(y_train_elastic_net_prediction) ~= average(y_train)
average(y_test_elastic_net_prediction) ~= average(y_test)
实际上 xgboost 的 AUC 比 elastic-net 高,在这种情况下我们应该更喜欢哪种模型?我们如何解决 xgboost 预测中的偏差?