我设计并实现了一个朴素贝叶斯文本分类器(Java)。我主要使用它将推文分类为20个类。要确定文档属于我使用的类的概率
foreach(class)
{
Probability = (P(bag of words occurring for class) * P(class)) / P(bag of words occurring globally)
}
确定一包单词是否真的不属于任何类别的最佳方法是什么?我知道我可以为P发送一个最小阈值(对于类发生的词包),如果所有类都在该阈值之下,那么将文档分类为未分类,但是我意识到这会阻止此分类器敏感
一个选项是创建一个Unclassified类并使用我认为无法分类的文档进行训练吗?
谢谢,
标记
- 编辑---
我刚想到 - 我可以设置P的最大阈值(全局发生的词袋)*(文档中的单词数)。这意味着任何主要由常用词组成的文档(通常是我想要过滤掉的推文),例如。 “是的,我同意你的看法”。会被过滤掉。 - 您对此的看法也将受到赞赏。
或许我应该找到标准偏差,如果它低,则确定它应该是未分类的?
答案 0 :(得分:1)
我看到两个不同的选项,将问题视为一组20个二进制分类问题。
此致