我的问题在理论上是技术性的,因此,由于在sklearn网站本身上提供了代码,所以我不在此处发布代码。
我构造了一个分类器,并使用sklearn进行了5倍交叉验证。在我的代码中,我正在计算各种准确度参数,例如敏感性,特异性,f1得分等。 5折交叉验证完成后,对所有准确性参数取平均值。
最后,我的脚本创建了ROC曲线以及其他精度参数的AUC得分和直方图,并生成了HTML报告文件。
交叉验证意味着内部测试,但是当我使用外部测试数据集时,就会开始混乱。
我的问题是我应该如何预测外部数据集,这在以下方法中是正确的。
在交叉验证后,保存具有每次折叠平均参数的模型,并使用该模型预测外部测试集并计算评估报告。如果是这种情况,我该怎么办?您能否向我展示示例代码,该代码可帮助我在进行n折交叉验证后保存模型?
使用整个数据集构建模型,保存模型以预测外部测试集并计算评估报告。如果这是正确的方法,谢谢,我知道代码。
还有其他我错过的方法,请分享。
谢谢。
答案 0 :(得分:1)
正确的方法是
使用整个数据集构建模型,保存模型以进行预测 外部测试集并计算评估报告
原因是我们仅使用交叉验证来衡量超参数的性能。为此,我们将所有折痕保留为一次测试折痕,这意味着每个数据点都有相当大的机会成为测试数据点。