如何提高朴素贝叶斯分类器的精度?

w51jfk4q  于 2021-06-04  发布在  Hadoop
关注(0)|答案(1)|浏览(550)

我用的是朴素贝叶斯分类器。遵循本教程。对于训练数据,我使用了308个问题,并将它们分为26个类别,这些类别是手动标记的。在发送数据之前,我正在执行nlp。在nlp中,我正在执行(标点删除、标记化、停止字删除和词干生成)这个过滤数据,并将其用作mahout的输入。使用mahout nbc的我训练这些数据并得到模型文件。现在当我跑的时候

mahout testnb

命令我得到正确分类为96%的示例。
现在我的测试数据,我用100个问题,我已经手动标记。当我使用训练模型和测试数据,我得到正确分类的示例为1%。这让我很生气。
有人能告诉我我做错了什么,或者给我一些提高nbc表现的方法吗。?
另外,理想情况下,我应该使用多少问题数据来训练和测试?

bfhwhh0e

bfhwhh0e1#

这似乎是典型的问题“过度装修”。。。你在训练中的准确率很高,但在实际情况中却很低。
你可能需要更多的训练示例。另外,这26个类别也有可能与你拥有的特征不相关。机器学习并不神奇,它需要变量和结果之间的某种统计关系。实际上,nbc在这里可能做的是有效地“记忆”训练集,这对于记忆之外的问题是完全无用的。

相关问题