python:在验证集上调整模型的参数

Posted

技术标签:

【中文标题】python:在验证集上调整模型的参数【英文标题】:python: tune parameters of the model on a validation set 【发布时间】:2017-10-12 18:52:27 【问题描述】:

理论将数据集分为三组:用于训练模型的训练集、用于调整参数的验证集和用于评估性能的测试集。

但是,已经有 GridSearchCV 对训练集进行交叉验证以找到最佳参数。但是如何使用自己的验证集来调整参数?

我有 10 个类,对于训练数据,每个类有 1017 个样本。 在验证和测试集中,每个类有 300 个样本。

我已经在火车数据上训练了我的分类。

clf = RandomForestClassifier(random_state=97)
clf.fit(train, np.array(train_lab)) 

如何使用我的验证集调整参数?我发现仅使用 GridSearchCV 作为交叉验证的示例。但是我想避免它并在我自己的验证集上调整模型。我该怎么做?

【问题讨论】:

使用 GridSearchCV,我相信每次迭代中的遗漏集都可以视为您的验证集。如果您想使用自己的验证集,请不要使用 GridSearchCV,只需自己编写代码即可(这很容易)。 【参考方案1】:

您可以将交叉验证对象传递给GridSearchCV。传入一个PredefinedSplit 对象,让您决定训练和验证集是什么。

【讨论】:

以上是关于python:在验证集上调整模型的参数的主要内容,如果未能解决你的问题,请参考以下文章

机器学习:验证数据集与交叉验证

使用交叉验证对鸢尾花分类模型进行调参(超参数)

Machine Learning 18 模型优化----算法调参

Pytorch保留验证集上最好的模型

随机森林中的超参数调整

机器学习实战——训练模型