使用朴素贝叶斯进行文本挖掘

数据挖掘 机器学习 数据挖掘 预测建模 文本挖掘 朴素贝叶斯分类器
2022-02-16 04:07:29

我正在使用朴素贝叶斯分类器为计算领域的课程实现预测代码。输出是预测课程是否是(管理、设计、数据库、分析……9 类)。我只有大约 100 条课程描述记录。我通过搜索关键字标记 50 个,我会将它们中的 80% 用作训练数据,将 20% 用作测试数据,其他 50 门课程由分类器预测。课程不平衡我无法更改数据中的任何内容。

准确率是 75% 我怎样才能提高准确率?

训练数据集小吗?

1个回答

你有什么理由必须使用朴素贝叶斯吗?虽然朴素贝叶斯确实很好地处理了多类建模,但有时认为文本中的每个词都独立于其他词的“幼稚”假设过于幼稚,尤其是考虑到训练集的大小。虽然您可以通过进行更多的文本处理来稍微提高准确性,但我不希望看到显着的改进,尤其是考虑到训练规模。

由于朴素贝叶斯本身并没有太多的参数调整,如果您想尝试对数据本身进行更多处理以提高性能,您可以尝试诸如文本计数向量化TF-IDF 向量化之类的方法来更全面地表示文本数据,而不仅仅是关键字标记。

如果您能够实现其他模型,我会看看scikit learn multi-class models的想法。基于树的方法本质上也是多类的,并且有更多的参数需要调整,所以实现像随机森林这样的东西可能更适合你。

至于训练规模本身,这似乎有点小。特别是如果您使用文本数据,您包含的功能越多,您需要的数据就越多,才能有机会检测到数据中的信号。