首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >监督学习算法中的多个标签

监督学习算法中的多个标签
EN

Data Science用户
提问于 2014-12-11 19:23:55
回答 1查看 1.4K关注 0票数 10

我有一个具有相应主题的文本语料库。例如,"A rapper Tupac was shot in LA"和它被标记为["celebrity", "murder"]。因此,基本上每个特征向量都可以有许多标签(数量不一样)。第一个特征向量可以有3个标签,第二个1,第三个5)。

如果我只有一个标签对应于每一个文本,我会尝试一个朴素贝叶斯分类器,但我真的不知道我应该如何进行,如果我可以有许多标签。

有没有办法将朴素贝叶斯转化为多标签分类问题(如果有更好的方法--请告诉我)?

关于我所掌握的数据。

  • 数据集中大约有10.000个元素
  • 文本大约是2-3个句子。
  • 每个文本最多有7个标签
EN

回答 1

Data Science用户

发布于 2014-12-12 00:13:10

首先,朴素的贝叶斯在这里可能不合适。它假定输入之间的独立性(因此“天真”)和单词在一个句子中是非常依赖的。

但是,假设您真的想使用NB作为开始实验的算法,我会考虑两种选择:

不光彩:大量的NB分类器

这将是另一种办法。将观察到的所有单词作为输入的载体,形成语料库。建立一个语料库,把所有的标记作为输出的矢量。具有多个输出的NB分类器相当于有多个NB分类器,每个输出具有一个输出(因此,在您使用的任何软件框架中更容易实现的都是这样做)。如果一个给定的输入(一个单词)是一个1 (如果该词存在),则将每个元素当作一个训练样本,如果该单词没有,则作为一个0。对输出使用相同的二进制方案。

这个野蛮人强制将NB分类器应用于您的数据,并让您通过仍然能够挖掘大量的分类器来找到意义。

更优雅:处理数据

这是我建议的方法,如果你想运行一个多类NB分类器。

这里的目标是找出如何将每组标记映射到单个类。我确信有某种类型的集群方案或网络分析(也许“名人”链接到“谋杀”可以成为一个段“放荡”),它将明智地将您的标记映射到一个集群。如果将标记视为节点,将两个给定的标记作为链接处理,那么您将需要研究社区检测算法(这就是我要开始的地方)。但是,如果您只想要一些有用的东西,那么将标签列表转换为数据集中最常见的标记的标签就足够了。

这种方法前端加载清理您的数据的工作,将使NB分类器的输出更容易理解。

票数 6
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/3688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档