你的主要原因 cv_score 看起来很低是因为将它与训练准确性进行比较并不是一个公平的比较。您的训练准确性是使用与用于拟合模型的相同数据来计算的 cv_score 是交叉验证中测试折叠的平均分数。正如您可以想象的那样,模型将更好地使用已经过训练的数据进行预测,而不必根据模型从未见过的新数据进行预测。
cv_score
您的 accuracy_score 和 auc 由于您总是使用相同的输入,因此计算显得固定( ddf["APPROVED"] , ddf_predictions 和 ddf_predprob )进入计算。该 performCV section实际上并不转换任何这些数据集,因此如果您使用相同的模型,模型参数和输入数据,您将获得进入计算的相同预测。
accuracy_score
auc
ddf["APPROVED"]
ddf_predictions
ddf_predprob
performCV
根据你的意见,有很多原因 cv_score 准确度可能低于整个测试集的准确度。其中一个主要原因是,当您使用完整的训练集而不是使用每个训练数据的子集时,您允许您的模型访问更多数据用于训练 cv 折。如果您的数据大小不是那么大,则尤其如此。如果您的数据集不大,那么该数据在培训中更为重要,可以提供更好的性能。
cv