如何提高朴素贝叶斯分类器的准确性?

时间:2013-06-05 11:36:43

标签: performance hadoop mahout tf-idf

我正在使用朴素贝叶斯分类器。在此之后tutorial。 对于训练好的数据,我使用308个问题并将它们分类为26个手动标记的类别。 在发送数据之前,我正在执行NLP。在NLP我正在执行(标点符号删除,标记化,删除词和删除词) 这个过滤后的数据,用作mahout的输入。 使用mahout NBC我训练这些数据并获得模型文件。现在我跑的时候

mahout testnb 

命令我将正确分类的实例设为96%。

现在,对于我的测试数据,我使用了100个手动标记的问题。当我使用经过训练的模型和测试数据时,我得到的正确分类实例为1%。 这让我很生气。

任何人都可以告诉我我做错了什么或建议我一些方法来提高NBC的表现。

另外,理想情况下,我应该使用多少问题数据来训练和测试?

1 个答案:

答案 0 :(得分:5)

这似乎是"overfitting"的经典问题......你在训练集上的准确度非常高,但在实际情况下却很低。

您可能需要更多培训实例。此外,26个类别可能与您拥有的功能无关。机器学习并不神奇,需要在变量和结果之间建立某种统计关系。实际上,NBC可能在这里做的是有效地“记忆”训练集,这对于记忆之外的问题是完全无用的。