【发布时间】:2018-05-14 07:23:02
【问题描述】:
scikit-learn 的GridSearchCV 似乎收集了其(内部)交叉验证折叠的分数,然后对所有折叠的分数进行平均。我想知道这背后的基本原理。乍一看,收集其交叉验证折叠的预测,然后将选择的评分指标应用于所有折叠的预测似乎更灵活。
我偶然发现这一点的原因是我在具有cv=LeaveOneOut() 和scoring='balanced_accuracy' (scikit-learn v0.20.dev0) 的不平衡数据集上使用了GridSearchCV。将平衡准确度(或召回率)等评分指标应用于每个遗漏的样本是没有意义的。相反,我想先收集所有预测,然后将我的评分指标应用于所有预测。或者这是否涉及推理错误?
更新:我通过创建一个基于 GridSearchCV 的自定义网格搜索类解决了这个问题,不同之处在于首先从所有内部折叠中收集预测,并应用一次评分指标。
【问题讨论】:
标签: machine-learning cross-validation optimization scikit-learn