如何解释几乎相同的训练和测试精度?

数据挖掘 机器学习 准确性 朴素贝叶斯分类器
2022-02-15 03:02:16

注意 - 我已经阅读了这篇文章,但仍然不明白

我有一个朴素贝叶斯分类器,当我输入训练数据来测试准确率时,我得到了 63.05%。当我输入我的测试数据时,准确率为 65.00%。

为什么训练和测试的准确率几乎相同?有关信息,我的数据分为 70/30。这是否意味着没有过拟合?

1个回答

为什么训练和测试的准确率几乎相同?

训练集和测试集上几乎相同的性能是一个好的结果,这意味着模型正在做它应该做的事情。进行直观的比较:

  • 在训练集上的表现相当于学生在课堂上重做老师已经解决的习题的能力。学生可能只是背诵了答案,所以这并不能证明他们理解。
  • 测试中的表现相当于学生在测试中解决一些他们以前没有见过的类似练习的能力。这更好地表明学生真正理解了该主题。

这是否意味着没有过拟合?

是的,它证明没有过拟合。为了与我的比较保持一致,过度拟合相当于记住答案。

但是,可能还有其他问题会影响结果:

  • 在测试集上的表现比在测试集上的表现高出 2 分。这可能意味着测试非常小,因为如果样本足够大,性能不会更高。如果测试集太小,则性能不太可靠(在小样本上获得的任何统计数据都不太可靠)。
  • 准确性可能是一种误导性的评估措施。它只计算正确预测的比例,因此如果大部分实例属于同一类,则分类器可以将任何实例预测为该类并获得较高的准确率。例如,如果大多数类在 63-65% 左右,那么分类器可能根本没有学到任何东西。查看精度/召回率/F1 分数可以更准确地了解发生的情况。

[编辑] 重要说明:正如 Nikos 在下面的评论中解释的那样,我的回答假设您有一个适当的测试集,即训练集和测试集彼此足够不同(否则可能存在数据泄漏和测试集性能将毫无意义)。