在Scikit中,学习RandomSearchCV和GridSearchCV需要cv参数的交叉验证对象,例如GroupKFold或其他来自sklearn.model_selection的简历分配器。
但是,如何使用单一的静态验证集?我有很大的训练集,很大的验证集,我只需要简历对象的接口,而不是整个交叉验证。
具体来说,我使用的是Scikit优化和BayesSearchCV (文档),它需要CV对象(与常规的Scikit学习SearchCV对象的接口相同)。我想使用我选择的验证集与它,而不是整个简历。
发布于 2021-05-30 17:07:51
scikit-learn的模型选择对象的文档,例如GridSearchCV,可能更清楚如何实现这一点:
简历: int,交叉验证生成器或可迭代的,default=None
因此,您需要将训练和测试样本的索引数组作为元组,然后将它们封装为可迭代的,例如列表:
train_indices = [...] # indices for training
test_indices = [...] # indices for testing
cv = [(train_indices, test_indices)]将使用单个元组定义的cv传递给模型选择对象,它将始终使用相同的示例进行培训和测试。
https://stackoverflow.com/questions/67763468
复制相似问题