Python Optuna示例返回测试集的评估度量是否存在缺陷?

Python Optuna示例返回测试集的评估度量是否存在缺陷?,python,hyperparameters,train-test-split,optuna,Python,Hyperparameters,Train Test Split,Optuna,我正在使用Optuna对一些模型进行参数优化 在几乎所有的示例中,目标函数都会返回测试集上的评估指标,并尝试最小化/最大化该指标。我觉得这是示例中的一个缺陷,因为Optuna会在看不见的数据上优化她的参数 对列车组cv进行优化将更加稳健。我想听听其他的想法,看看我是否遗漏了什么 谢谢 不,这不是一个缺陷,而是一个特性。应在算法看不到的测试数据集上评估性能 如果你想交叉验证,可能需要几个月的时间来完成一个简单的Optuna研究。这样做没有错,但可能是浪费时间,因为Optuna的算法是一个贝叶斯优化

我正在使用Optuna对一些模型进行参数优化

在几乎所有的示例中,目标函数都会返回测试集上的评估指标,并尝试最小化/最大化该指标。我觉得这是示例中的一个缺陷,因为Optuna会在看不见的数据上优化她的参数

对列车组cv进行优化将更加稳健。我想听听其他的想法,看看我是否遗漏了什么


谢谢

不,这不是一个缺陷,而是一个特性。应在算法看不到的测试数据集上评估性能

如果你想交叉验证,可能需要几个月的时间来完成一个简单的Optuna研究。这样做没有错,但可能是浪费时间,因为Optuna的算法是一个贝叶斯优化器,交叉验证只能近似

这就是说,如果您使用机器学习,并且要求每个历元都有一个训练/验证循环,我将使用Jun Shao的
n**(0.75)
比例作为您的训练集大小,在训练开始前随机选择;它不仅更快,而且可能更好


因此,虽然在机器学习中需要进行多种培训和验证操作,但如果您使用的是Optuna,则无需交叉验证该模型的性能。请单击上面的链接,在cross validated的SE站点上查看我的答案,从那里您可以点击Github,但请先发表评论和/或查看其他人的意见。

不,这不是一个缺陷,而是一个功能。应在算法看不到的测试数据集上评估性能

如果你想交叉验证,可能需要几个月的时间来完成一个简单的Optuna研究。这样做没有错,但可能是浪费时间,因为Optuna的算法是一个贝叶斯优化器,交叉验证只能近似

这就是说,如果您使用机器学习,并且要求每个历元都有一个训练/验证循环,我将使用Jun Shao的
n**(0.75)
比例作为您的训练集大小,在训练开始前随机选择;它不仅更快,而且可能更好

因此,虽然在机器学习中需要进行多种培训和验证操作,但如果您使用的是Optuna,则无需交叉验证该模型的性能。请点击上面的链接,在cross validated的SE站点上查看我的答案,从那里您可以点击Github,但请先发表评论和/或查看其他人的看法