加权标签聚类

我有一份产品列表,每个产品都带有标签,并且每个标签都关联了一个权重。现在我想将这些产品聚类成相似的产品。我该如何进行?我尝试过使用scikit-learn的k-means方法,但效果不太理想。

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

现在我想对这些产品进行聚类。我还希望一个产品可以根据需要属于多个聚类。因为1、2、3可以形成一个聚类,而2、4、5可以形成另一个聚类。


回答:

你可以使用高斯混合模型,它可以被视为k-means的泛化,允许软聚类。你可以有K个聚类,每个条目以一定的概率属于所有聚类。这个概率是该条目在该聚类下的概率。幸运的是,scikit-learn有相应的代码支持这个方法。

你可以将所有产品的标签集视为定义条目特征空间的存在。如果一个产品带有某个标签,那么该产品在对应标签的位置上将有一个非零条目,等于该标签的权重。这样,你就有了描述条目的固定向量,可以应用GMMs进行分析。


然而,评估这种无监督学习方法是非常困难的。相反,你应该根据它们所用于的下游任务来评估方法,比如向人们推荐产品、检测欺诈或检测重复等。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注