首页 > 解决方案 > Python 中的 GridsearchCV

问题描述

我有一个概念性问题,希望有人能澄清一下。假设CV=10GridSearchCV中运行时,模型在 9 个分区上进行训练并在剩余的 1 个分区中进行测试。

问题是这里更相关的是什么?来自 9 个分区的平均 AUC 结果或测试分区的平均 AUC。如果这 2 个(9 对 1 分区)上的 AUC 相距很远,假设相距超过 20% 会怎样。这对经过训练的模型的功效有何影响?关于 AUC 可以走多远的任何经验法则?通常报告的模型性能度量是什么,9 个分区 AUC(训练)或测试分区?

谢谢!

标签: pythongridsearchcv

解决方案


我假设它是机器学习模型(例如神经网络)

当在 gridsearchCV 中运行假设 CVfold =10 时,模型在 9 个分区上进行训练并在剩余的 1 个分区中进行测试。

avg auc 结果来自 9 个分区或 avg

通常,他的模型在由 9 个任意分区组成的 1 个分区(训练集)上进行训练。因此,没有 9 个分区的平均 AUC 这样的东西,只有一个火车 AUC。如果您确定在 1 个分区上进行训练、计算指标、在第 2 个分区上进行训练、计算指标等等,直到您从 9 个分区获得指标结果并对其进行平均,则此话不成立。

关键问题:

问题是这里更相关的是什么?

取决于你要回答的问题是什么。测试分区的结果应该会告诉您或多或少的性能,除非您将模型发布给全世界(对看不见的数据进行预测)。但是,当您使用 CV 时很容易引入某种数据泄漏,数据泄漏会降低结果的可信度。

训练和测试之间的比较应该告诉您是过度拟合模型还是应该使模型更拟合。我不知道差异有多大(建议进一步阅读关于过度拟合)的经验法则,但我从未见过有人接受 20% 的差异。


推荐阅读