【问题标题】:Multiclass classification with Naive Bayes and R使用朴素贝叶斯和 R 进行多类分类
【发布时间】:2016-07-19 08:06:19
【问题描述】:

所以我正在尝试使用朴素贝叶斯根据其文本对文档进行分类。每个文档可能属于 1 到 n 个类别(将其视为博客文章中的标签)。

我目前的方法是为 R 提供一个像这样的 csv

+-------------------------+---------+-------+-------+
|    TEXT TO CLASSIFY     | Tag 1   | Tag 2 | Tag 3 |
+-------------------------+---------+-------+-------+
| Some text goes here     | Yes     | No    | No    |
+-------------------------+---------+-------+-------+
| Some other text here    | No      | Yes   | Yes   |
+-------------------------+---------+-------+-------+
| More text goes here     | Yes     | No    | Yes   |
+-------------------------+---------+-------+-------+

当然,期望的行为是输入看起来像

Some new text to classify

还有类似的输出

+------+------+-------+
| Tag 1| Tag 2| Tag 3 |
+------+------+-------+
| 0.12 | 0.75 | 0.65  |
+------+------+-------+

然后根据一定的阈值,判断给定的文本是否属于标签1、2、3。

现在的问题是,在我找到的教程中,看起来输入应该更像

+--------------------------+---------+
|    TEXT TO CLASSIFY      | Class   |
+--------------------------+---------+
| Some other text here     | No      |
+--------------------------+---------+
| Some other text here     | Yes     |
+--------------------------+---------+
| Some other text here     | Yes     |
+--------------------------+---------+

也就是说,每个类每个文本一个 ROW...然后使用它,是的,我可以训练朴素贝叶斯,然后使用 one-vs-all 来确定哪些文本属于哪些标签。问题是,我可以用更优雅的方式来做这件事吗(也就是说,训练数据看起来像我提到的第一个例子)?

我发现的一个例子是http://blog.thedigitalgroup.com/rajendras/2015/05/28/supervised-learning-for-text-classification/

【问题讨论】:

    标签: r machine-learning text-classification naivebayes


    【解决方案1】:

    从概念上讲有两种方法。

    1. 您将标签组合成一个组合标签。然后你会得到联合概率。主要缺点是组合爆炸,这意味着您还需要更多的训练数据
    2. 您为每个标签构建单独的 NB 模型。

    与概率建模一样,问题是您是否假设您的标签是独立的。本着朴素贝叶斯的精神,独立假设将是非常自然的。在那种情况下 2. 将是要走的路。如果独立性假设不成立并且您担心组合爆炸,则可以使用标准贝叶斯网络。如果您保持某些假设,您的表现将不会受到影响。

    但是,您也可以采用混合方法。

    1. 您可以使用分层朴素贝叶斯模型。如果标签中有一些逻辑结构,您可以为类引入父变量。如果两个标签一起出现,基本上你有一个值 tag1/tag2。
    2. 可以将基本思想扩展到您无法观察到的潜在变量。这可以使用 EM 方案进行训练。这会稍微影响您的训练性能,因为您需要运行训练,但是多次迭代可能会给您最好的结果。

    http://link.springer.com/article/10.1007%2Fs10994-006-6136-2#/page-1

    【讨论】:

      猜你喜欢
      • 2012-07-02
      • 2015-01-03
      • 2013-12-02
      • 2020-06-02
      • 2018-05-09
      • 2019-01-22
      • 2015-08-27
      • 2013-06-21
      • 2017-01-10
      相关资源
      最近更新 更多