将整个数据集拆分为训练和测试的关键在于,您想要学习的模型(朴素贝叶斯或其他)应该反映因果关系(特征和预测)之间的真实关系,而不仅仅是数据。例如,您可以始终将曲线完美地拟合到多个数据点,但这样做可能会使您对您尝试进行的预测毫无用处。
通过使用单独的测试集,测试学习的模型 看不见 数据。理想情况下,训练和测试集上的错误(或者您测量的任何内容)大致相同,这表明您的模型是相当一般的而不是 过拟合 到训练数据。
如果在您的情况下减小训练集的大小会增加测试集的性能,则表明学习模型过于具体且无法推广。但是,您应该调整学习者的参数,而不是改变训练/测试分割。您可能还想考虑使用 交叉验证 而不是简单的训练/测试分裂,因为它将提供更可靠的性能估计。