我在Weka中使用10折交叉验证进行一个小型分类任务。为了特征选择和调整分类器的参数,我使用了数据的一个小子集。我知道通常应该使用训练集和开发集。但由于时间和计算能力的限制,我只使用了所有数据的一个小子集。这会以任何方式影响结果吗?谢谢!
回答:
是的。根据偏见的定义,使用小数据集意味着你会对你选择训练的部分产生更高的偏见。不过,如果你从一个更大的数据集中随机选择小样本,这种偏见将大大减少。
如果你只是使用一小部分数据,10折交叉验证就没有多大意义。交叉验证的理念是将一个大的数据集分成多个部分,交替使用这些部分作为训练集和测试集进行训练,直到找到在所有交叉验证集上表现最佳的解决方案。
如果你没有太多时间或计算能力,我的第一个建议是减少10折CV的检查。这样,你可以在相同计算时间内包含更大比例的数据集,并在Weka中快速评估多个不同的模型,然后决定哪个模型更有前景继续深入研究。
如果你有选择的话,对于最终的数据运行,我强烈建议使用完整的数据集,但在决定使用哪个算法时,使用完整数据集的一部分也不是什么大问题。