标签的加权聚类

Posted

技术标签:

【中文标题】标签的加权聚类【英文标题】:Weighted clustering of tags 【发布时间】:2017-02-28 16:22:45 【问题描述】:

我有一个产品列表,每个产品都被标记,并且每个标记都关联到它的权重。现在我想将它们聚集到类似的产品中。我该如何前进。我已经尝试过 scikit-learn 的 k-means。但这并没有多大帮助。

Product 1: a=2.5 b=3.5 c=1 d=1
Product 2: a=0.25 c=2
Product 3: e=2 k=5
.
.
.
.
.
.
.
.
Product n: a=3 b=0.75

现在我希望将它们聚集在一起。如有必要,我还希望一个产品在许多集群中。因为1、2、3可以组成一个簇,2、4、5可以组成其他

【问题讨论】:

【参考方案1】:

您可以使用Gaussian Mixture Model,它可以看作是允许软集群的 k-means 的泛化。你可以有 K 个集群,每个条目都属于具有一定数量的所有集群。这个数量是该集群下的条目的概率。 幸运的是,这里有 scikit-learn code。

您可以将所有产品的标签集视为定义条目的特征空间。产品上存在标签意味着产品将在与该标签对应的位置有一个非零条目,等于重量。从那里,您有一个固定的向量来描述条目,并且可以应用 GMM。


但是,评估这样的无监督学习方法确实很困难。相反,您应该根据它们用于的下游任务来评估方法。比如向人们推荐产品或检测欺诈或检测重复等。

【讨论】:

【参考方案2】:

如果 k-means 的直接和幼稚应用没有太大帮助,您可能需要深入挖掘。

假设您有N 不同的标签,其中0..N 可以应用于每个产品p。每个分配都描述了具有正权重w 的加权关系。产品标签的缺失等于w = 0

这是为您的产品生成N 维特征空间的设置。您应该能够使用任意聚类方法;你只是必须选择正确的措施。

您的距离(或相似性)度量应取决于您的数据。

因此,首先要问自己的是:什么时候认为两个度量相似

如果它们有尽可能多的重叠标签? 如果非重叠标签权重之间的差异总和为最大值? 如果重叠标签之间的差异之和最小? ...

根据您定义的相似度,您应该能够在比较两个元素时选择或实施一种产生相似度等级的度量(不仅仅是N 维度中的欧几里德距离)。

另外,您可能需要查看this post at CrossValidated 或(如果您想了解有关集群的更多信息)Section 7.3 “海量数据集的挖掘”(2014 年,Anand Rajaraman,Jure Leskovec,和 Jeffrey D. Ullman)[Entire book]

【讨论】:

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

带有标签数据的 KMeans 聚类

机器学习-加权采样算法简介

监督聚类 - 评估每个真实标签的指标?

如何为 html 和 pdf 创建加权、带标签的汇总表?

基于它们在python中的合并顺序的层次聚类标签

如何分析没有真实标签的聚类的完整性?