朴素贝叶斯文本分类器 - 确定何时应将文档标记为“未分类”
Posted
技术标签:
【中文标题】朴素贝叶斯文本分类器 - 确定何时应将文档标记为“未分类”【英文标题】:Naive Bayes Text Classifier - determining when a document should be labelled 'unclassified' 【发布时间】:2013-05-05 00:05:42 【问题描述】:我设计并实现了一个朴素贝叶斯文本分类器(用 Java 编写)。我主要使用它将推文分类为 20 类。为了确定文档属于我使用的类的概率
foreach(class)
Probability = (P(bag of words occurring for class) * P(class)) / P(bag of words occurring globally)
确定一个词袋是否真的不应该属于任何类别的最佳方法是什么?我知道我可以只发送 P 的最小阈值(类出现的词袋),如果所有类都低于该阈值,则将文档归类为未分类,但是我意识到这可以防止该分类器变得敏感.
是否可以创建一个 Unclassified 类并使用我认为不可分类的文档对其进行训练?
谢谢,
标记
--编辑--
我刚刚想到 - 我可以为 P(全局出现的词袋)*(文档中的词数)设置一个最大阈值。这意味着任何主要由常用词组成的文档(通常是我想要过滤掉的推文),例如。 “是的,我同意你的看法”。会被过滤掉。 - 您对此的想法也将不胜感激。
或者也许我应该找到标准偏差,如果它很低,确定它应该是未分类的?
【问题讨论】:
【参考方案1】:我看到两个不同的选项,将问题视为一组 20 个二元分类问题。
-
您可以计算 P(文档在课堂上)/P(文档不在课堂上)的可能性。一些朴素贝叶斯实现使用这种方法。
假设您有一些评估措施,您可以计算每个类别的阈值并根据交叉验证过程对其进行优化。这是应用文本分类的标准方法。您将使用阈值(每类一个),但它们将基于您的数据。在您的情况下,SCut 或 ScutFBR 将是最佳选择,如 paper 中所述。
问候,
【讨论】:
以上是关于朴素贝叶斯文本分类器 - 确定何时应将文档标记为“未分类”的主要内容,如果未能解决你的问题,请参考以下文章