一般来说,如果我们有一个大数据集,我们可以将其分为 (1) 训练、(2) 验证和 (3) 测试。我们使用验证来识别交叉验证中的最佳超参数(例如,SVM 中的 C),然后我们使用带有训练集的最佳超参数训练模型,并将训练后的模型应用于测试以获得性能。
如果我们有一个小数据集,我们就无法创建训练和测试集(样本不足)。因此,我们将进行交叉验证(k-fold、leave-one-out 等)来评估模型的性能。
我已经看到嵌套交叉验证(无论是重复的还是分层的)已被用于小数据集的设置,即在优化参数选择的同时生成广义模型性能。我的问题是,如何在嵌套交叉验证(重复/不重复)中获得最佳超参数? 如果可能的话,我有兴趣在 scikit-learn 中执行此操作。我对如何做到这一点有点困惑。
我已经阅读了几个资源,但没有一个给我这个问题的明确答案: