0

我有点困惑,因为我正在训练一个模型,该模型在训练数据上产生大约 88% 的 CV 分数,而在我提交后,相同的模型在测试数据上表现不佳(分数为 0.75)。准确率下降 12 点不可能都是由于过度拟合,不是吗?有任何想法吗?你在你的模型/提交中遇到过这样的差距吗?

有关模型和结果,请参见随附的图像。

################################################# ########

xgb_clf = XGBClassifier(n_estimators=87, learning_rate=0.05,max_depth = 10,
colsample_bytree =0.8 , n_jobs=-1 , random_state = 7,
scale_pos_weight = 0.6, min_child_weight = 0.9, gamma = 2.1)
skf = RepeatedStratifiedKFold(n_splits = 4)

results= cross_val_score(xgb_clf , X_train , y , cv =skf, scoring='roc_auc')
print("Accuracy: %.2f%% (%.2f%%)" % (results.mean()100, results.std()100))

准确率:88.13% (2.47%)

4

1 回答 1

0

是的,这绝对可以表明过度拟合。训练准确率和测试准确率之间 12% 的差异并不罕见。事实上,在过度拟合的极端情况下,您甚至可以观察到训练集的 100% 准确率和测试数据的机会水平准确率。

于 2020-12-12T10:07:46.773 回答