数据分类和聚类有什么区别(从数据的角度来看)

数据挖掘 分类 聚类 不同之处
2021-10-01 02:08:24

数据分类(使用专用的基于距离的方法)和数据聚类(具有某些定义的方法,例如k-means)之间有什么区别和相似之处

数据分类是数据聚类的子主题吗?

3个回答

分类是您的输入数据由两部分组成的问题:

  1. 反映实体特征的一些数据特征
  2. 将实体分配给组或类标签。

使用这种数据,您可以训练一个接收数据特征(第一部分)并生成标签(第二部分)的模型。这种训练系统在接收到特定输入时生成一些输出称为“监督学习”。

另一方面,在Clustering中,您的数据集只有数据特征,也就是说,您的数据集没有标签。聚类方法允许您在没有任何标签的情况下将实体分组到类中,通常通过先验定义您想要多少组,然后根据它们的相似性对实体进行分组。这种没有标签,只需要从实体数据特征中学习的训练称为“无监督学习”

[注意:基本上我的回答与@ncasas 相同,只是另一种措辞]

分类属于监督学习,而聚类属于无监督学习

  • 在监督学习中,有一个训练阶段,在此阶段提供一些实例(示例)及其答案(目标)。在训练期间,模型“研究”训练数据中的所有示例(用features表示),以便能够从特征中找到目标。训练完成后,该模型可以应用于新实例并使用它们的特征来预测它们的目标简而言之,监督学习的主要特点是:
    • 目标是预测从一开始就定义的特定信息(目标)。
    • 它需要一些训练数据:大量实例的特征和答案。
  • 在无监督学习中,目标是发现数据中的模式。没有预定义的目标,也没有训练阶段(因此不需要注释数据)。无监督学习只能完成基于比较实例的一般任务,例如聚类(将相似的实例分组在一起)或排名(将实例相对于彼此排序)。

这是分类和聚类之间的根本区别。基于这样的理解:

数据分类和聚类有什么区别(从数据的角度来看)

从严格的数据角度来看,区别在于分类中对注释数据的要求。集群没有这样的要求。

数据分类是数据聚类的子主题吗?

不,因为它们属于具有不同目标的不同 ML 家族。

例子:

  • 在垃圾邮件分类(监督任务)中,使用一些标记为垃圾邮件或非垃圾邮件的文档(通常是电子邮件)训练模型。生成的模型可以预测新文档是否为垃圾邮件。
  • 在主题建模(无监督任务)中,模型根据包含的单词将语义相似的文档组合在一起。

第一个任务将文档分成类,但这些类是预定义的:这里是垃圾邮件与非垃圾邮件。该模型专门使用特征作为该目标的指标。如果课程是新闻与娱乐、商业与个人或科幻与浪漫,它将以完全不同的方式使用功能。因此,术语监督学习:模型专注于它被告知(训练)要关注的内容。

主题建模将文档分成几个集群,但即使我们假设恰好有两个集群,这些集群也极不可能对应于垃圾邮件与非垃圾邮件(或新闻与娱乐等)。聚类算法遵循中性相似性方法,不加选择地使用特征。主要结果是集群本身,它们代表数据中的未知模式。例如,在大量文档中应用主题建模可能会导致发现文档的主要类别是什么:新知识是这些组的存在。聚类是无监督的,因为它不遵循预定的目标。

只是把好的答案和评论放在一起,并试图更明确地回答关于分类的问题部分是聚类的一个子主题。

正如@ncasas 从数据的角度所指出的,分类需要标记数据来训练模型(监督学习),而聚类可以利用未标记数据(无监督学习)。

您实际上可以获取一个带标签的数据集并使用聚类算法(您只需丢弃标签中包含的信息)。这确实会像分类算法那样产生分组中的样本分区。但是,结果不能保证相同或相似(即使使用相同数量的分区)。这是因为聚类算法试图构建与自身相似但与其他组的样本不同的样本组,而分类算法试图最小化错误分类的某些功能(建议的分区与标签的分区相比有多大不同)。作为一个简单的例子,你可以想象一个数据集,其中包含来自具有不同面部表情(例如悲伤和快乐)的两个人的几张面部图像;假设你有面部表情的标签,您可以进行分类,这将尝试尽可能好地再现每张图像的悲伤/快乐标签;如果您尝试使用 k=2 聚类对相同的数据(没有标签)进行聚类,您可能会发现这两个聚类对应于两个人的图像(因为同一张脸的图像往往非常相似)。

在不讨论什么构成“子主题”的情况下,我想指出聚类和分类的目标实际上是不同的。