【问题标题】:Is Naive Bayes biased?朴素贝叶斯有偏见吗?
【发布时间】:2019-09-28 00:33:12
【问题描述】:

我有一个用例,需要将文本分类为三个类别之一。我从朴素贝叶斯 [Apache OpenNLP, Java] 开始,但我被告知该算法有偏见,这意味着如果我的训练数据有 60% 的数据作为 A 类,30% 的数据作为 B 类,10% 的数据作为 C 类,那么算法倾向于偏向A 类,从而预测其他类文本属于 A 类。

如果这是真的,有没有办法克服这个问题?

我遇到了其他算法,例如 SVM 分类器或逻辑回归(最大熵模型),但我不确定哪种算法更适合我的用例。请指教。

【问题讨论】:

    标签: machine-learning nlp text-classification naivebayes


    【解决方案1】:

    有办法解决这个问题吗?

    是的,有。但首先您需要了解为什么会发生这种情况?

    基本上你的数据集是不平衡的。

    不平衡的数据集意味着两个类中的一个类的实例高于另一个,换句话说,分类数据集中所有类的观察数量并不相同。

    在这种情况下,您的模型会偏向具有大多数样本的类,因为您对该类有更多的训练数据。

    解决方案

    1. 抽样中: 从多数类中随机删除样本以使数据集平衡。
    2. 过采样: 添加更多少数类样本以使数据集平衡。
    3. 更改绩效指标 使用F1-score、'recallorprecision` 来衡量模型的性能。

    还有一些解决方案,如果您想了解更多,请参阅blog

    我还遇到过其他算法,例如 SVM 分类器或逻辑回归(最大熵模型),但我不确定 这将更适合我的用例

    除非你尝试,否则你永远不会知道,我建议你对你的数据尝试 3-4 种不同的算法。

    【讨论】:

      猜你喜欢
      • 2011-09-26
      • 2012-11-28
      • 2012-02-21
      • 2011-12-28
      • 2017-02-18
      • 2013-09-09
      • 2015-01-03
      • 2017-02-09
      • 2018-02-14
      相关资源
      最近更新 更多