You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何常规交叉验证与调参后的ROC AUC得分差异显著?

超参数调优后ROC AUC大幅下降但其他指标稳定的问题

我在评估XGBoost分类器时,先将数据集划分为训练集和验证集,使用模型默认参数对训练集执行5折分层交叉验证并计算ROC AUC:

xgbClassCV = XGBClassifier()
kfold = StratifiedKFold(n_splits = 5)
auc = cross_val_score(xgbClassCV, x_train, y_train, scoring = "roc_auc", cv = kfold)
auc_avg = auc.mean()

所得ROC AUC(auc_avg)约为0.76。

随后我使用训练集通过随机交叉验证进行超参数调优:

xgbGrid = {..., ..., ..., ...}
xgbClassHT = XGBClassifier()
kfold = StratifiedKFold(n_splits = 5)
xgbClassRand = RandomizedSearchCV(estimator = xgbClassHT, param_distributions = xgbGrid, n_iter = 60, \
    cv = kfold, n_jobs = -1, verbose = 2)
xgbClassRand.fit(x_train, y_train)

获取最优参数后,用该参数训练XGBoost分类器,在验证集上生成预测并计算ROC AUC:

xgbClassFT = XGBClassifier(..., ..., ..., ...)
xgbClassFT.fit(x_train, y_train)
predictions = xgbClassFT.predict(x_val)
auc = metrics.roc_auc_score(y_val, predictions)

该ROC AUC(auc)约为0.65,比交叉验证结果低11个百分点。但我计算的其他得分(如准确率、精确率、召回率和F1)基本保持一致。

我对逻辑回归重复此过程,同样出现ROC AUC约差11个百分点但其他得分基本一致的情况。

内容的提问来源于stack exchange,提问作者Jaime Andrés Castañeda

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 20:47:05