聚类还是分类?

Posted

技术标签:

【中文标题】聚类还是分类?【英文标题】:Clustering or classification? 【发布时间】:2012-07-30 15:27:27 【问题描述】:

我在对我获得的数据集应用分类或聚类的决定之间陷入困境。我想得越多,我就越困惑。这就是我所面临的。

我有新闻文件(大约 3000 份,并且还在不断增加),其中包含有关公司、投资、股票、经济、季度收入等的新闻。我的目标是对新闻进行排序,以便我知道哪些新闻对应哪些新闻公司。例如,对于新闻项目“Apple 推出新的 iphone”,我需要将 Apple 公司与它关联起来。特定的新闻项目/文档仅包含“标题”和“描述”,因此我必须分析文本以找出该新闻所指的公司。也可以是多家公司。

为了解决这个问题,我求助于 Mahout。

我从集群开始。我希望将“Apple”、“Google”、“Intel”等作为集群中的首要术语,从那里我会知道集群中的新闻与其集群标签相对应,但情况有点不同。我得到了“投资”、“股票”、“通信”、“绿色能源”、“终端”、“股票”、“街道”、“奥林匹克”和许多其他术语作为最重要的术语(这对于聚类算法是有意义的' 寻找常用术语)。虽然有一些“Apple”集群,但与之相关的新闻项目很少。我认为集群可能不是针对这类问题,因为许多公司新闻都进入了更一般的集群(投资、利润)而不是特定的公司集群(Apple)。

我开始阅读需要训练数据的分类,这个名称也很有说服力,因为我实际上想将我的新闻项目“分类”为“公司名称”。当我继续阅读时,我的印象是名称分类有点欺骗性,与分类相比,该技术更多地用于预测目的。我遇到的另一个困惑是如何为新闻文档准备训练数据?假设我有一个我感兴趣的公司列表。我编写了一个程序来为分类器生成训练数据。该程序将查看新闻标题或描述是否包含公司名称“Apple”,然后它是关于苹果的新闻报道。这是我准备训练数据的方式吗?(当然,我读到训练数据实际上是一组预测变量和目标变量)。如果是这样,那我为什么要首先使用 mahout 分类?我应该放弃 mahout,而是使用我为训练数据编写的这个小程序(实际上是进行分类)

您可以看到我对如何解决此问题感到困惑。另一个让我担心的事情是,如果它可以让一个系统变得如此智能,如果新闻说“iphone 销量创历史新高”而不使用“Apple”这个词,那么系统可以将其归类为与苹果相关的新闻吗?

提前感谢您为我指明正确的方向。

【问题讨论】:

【参考方案1】:

首先,您不需要 Mahout。 3000 份文件几乎没有。当您达到一百万时,请重新访问 Mahout。我已经在一台计算机上处​​理了 100.000 张图像,因此您现在真的可以跳过 Mahout 的开销。

你正在尝试做的事情听起来像分类。因为你有预定义的类。

聚类算法是无监督的。它(除非您过度拟合参数)可能会将 Apple 分为“iPad/iPhone”和“Macbook”。或者另一方面,它可能会合并 Apple 和 Google,因为它们相关(比 Apple 和 Ford 更密切)。

是的,您需要能够反映您要衡量的结构的训练数据。还有其他结构(例如,iPhone 与 Macbook 不同,谷歌、Facebook 和苹果比 Kellogs、福特和苹果更相似)。如果您需要公司级别的结构,则需要此详细级别的训练数据。

【讨论】:

【参考方案2】:

从邮件列表中复制我的回复:

分类器是监督学习算法,因此您需要提供 一堆正面和负面类别的例子。在你的例子中, 给一堆文章贴上“关于苹果”的标签就好了, 然后使用从 TF-IDF 派生的特征向量作为输入,这些 标签,训练一个分类器,它可以判断一篇文章何时是“关于 苹果”。

我认为自动生成 根据简单的规则通过标注训练集,即 如果标题中有“Apple”,则关于 Apple。好吧,如果你这样做,那么 训练分类器没有意义。你可以做一个微不足道的 分类器在测试集上达到 100% 的准确率 检查标题中是否有“Apple”!是的,你是对的,这个收益 你什么都没有。

显然你想从分类器中学到一些更微妙的东西,所以 一篇题为“苹果汁显示可降低痴呆风险”的文章 不归类为关于公司。你真的需要喂它 手工分类的文件。

这是个坏消息,但是,你当然可以训练 N 个分类器 以这种方式处理 N 个主题。

分类器将项目归入或不归类。它们不一样 预测输入的连续值的回归技术。 它们相关但不同。

聚类具有无人监督的优势。你不需要 标签。但是,不能保证生成的集群匹配 根据您对文章主题的概念。你可能会看到一个集群有很多 苹果文章,一些关于 iPod,还有一些关于三星 和一般的笔记本电脑。我认为这不是您的最佳工具 问题。

【讨论】:

以上是关于聚类还是分类?的主要内容,如果未能解决你的问题,请参考以下文章

入门 | 解读分类算法与聚类算法

模型算法分类算法和聚类算法的差异

深入解读 | 分类算法和聚类算法的差异

聚类 VS 监督分类,在非常小的数据库的情况下

我应该将行业分类代码视为 K 均值聚类中的双重数据类型吗?

非线性逻辑回归可以用于非线性分类吗