我将我的训练和测试数据分开(从不同的CSV加载到不同的pandas数据帧中),我想用这个训练和测试数据绘制学习曲线,而不是使用交叉验证训练和测试训练集自身生成的测试数据(这似乎是learning_curve工作的常用方式)。
似乎scikit希望您的测试和训练数据存在于同一个Dataframe中,但这样分类器也会学习测试数据,这不是我想要的。
我该如何解决这个问题?我是sci-kit的新手。
答案 0 :(得分:0)
您需要将训练和测试数据分开(至少在代码中的单独变量中)。然后可以在训练集上应用learning curve。这样,您可以在不使用测试集的情况下优化实验(以避免过度拟合)。
为了验证您在测试集上的表现如何,scikit-learn提供validation curve评估测试集。
答案 1 :(得分:0)
Scikit-Learn更棘手。它允许您定义train和测试集的train_sizes,然后对所有这些进行交叉验证(参数cv,默认为3倍交叉验证)。