1

我正在使用朴素贝叶斯分类器。按照本教程。对于经过训练的数据,我使用了 308 个问题并将它们分类为 26 个手动标记的类别。在发送数据之前,我正在执行 NLP。在 NLP 中,我正在执行(标点符号删除、标记化、停用词删除和词干提取)这个过滤后的数据,用作 mahout 的输入。我使用 mahout NBC 训练这些数据并获取模型文件。现在当我跑步时

mahout testnb 

命令我得到正确分类的实例为 96%。

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

谁能建议我我做错了什么或建议我一些提高 NBC 性能的方法。?

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

4

1 回答 1

5

这似乎是“过度拟合”的经典问题......您在训练集上获得了非常高的准确率,但在实际情况下却很低。

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

于 2013-06-05T13:23:17.910 回答