识别哪些已知组最相似或最不相似

数据挖掘 数据挖掘 聚类
2021-09-21 01:03:26

我有一个包含 5 个组的数据集及其与不同兴趣的关联。数据结构如下,包含2000 多个兴趣和5 个已知组:

      Interest     Group1     Group2     Group3     Group4     Group5
01.   Sports         10%        40%        30%       80%         65%
02.   Music          35%        60%        55%       10%         15%
03.   Fashion        80%        10%        75%        5%         25%
 .
 .
 .
1998.  Movies        70%        20%        45%       50%         65%
1999.  Books         50%        70%        35%       65%         95%
2000.  Art           90%        50%        25%       15%         30%

我想了解什么是确定哪些群体彼此最接近以及哪些群体在兴趣方面彼此最不同的最佳方法。

我倾向于聚类分析,但是我的数据结构让我失望。

任何建议将不胜感激。

3个回答

你只有五个组,所以全面的聚类在这里可能不是一个好主意,但是查看组向量之间的相似度分数可能会很有见地。一开始很容易尝试的是余弦相似度,它基本上测量了每个组向量之间的角度:

相似度 = Cs(θ)=一个||一个||2||||2

在哪里一个给出两个向量的点积,并且||一个||2是向量的大小一个.

您所有的向量值都是正数,因此结果将在范围内(0,1). 这个值越接近1,向量越相似。0意味着它们是完全去相关的(向量是正交的)。您可以比较每对组的余弦相似度,以确定哪些组最相似/不相似。

对于很小的样本量 (5),层次聚类和树状图效果最好。

作为相似性度量,我会选择曼哈顿距离。

由于您只有 5 个组,因此您可能应该查看距离而不是聚类。

现在的问题是:你应该使用哪个距离。

当然,您可以使用欧几里得、曼哈顿或余弦距离并完成它。在这种情况下,我会选择余弦距离,因为它减少了单个维度对整体距离的影响,并且由于您有 2000 个特征/兴趣,它可能会有所帮助。

现在,我猜测利益集团有些相关。在极端情况下,1999 年的兴趣非常相关,而 1 则不是。如果发生这种情况并且您使用常规距离,则意味着仅同意 1999 年利益的两个组将被认为比仅同意 1 个利益的组更接近。尽管如此,你知道你在这里只处理两个兴趣。

因此,您可能希望使用某种形式的加权来使用兴趣组之间的相关性来计算您的距离。也许更独特的群体应该比与其他兴趣非常相似的群体更重要。为此,您可以使用 PCA 等降维技术。PCA 将“删除”多余的兴趣并将它们“组合”成一个。一旦您减少了数据的维度(假设现在您正在查看 20 个兴趣而不是 2000 个),您就可以计算您的距离。

当然,距离是主观的,你必须定义在多大程度上同意特定的兴趣很重要。也许就体育达成一致比就书籍达成一致更重要。如果您有这些先验知识,则必须手动将其输入到您的权重中。

一旦决定了如何计算距离,就可以通过对特征(兴趣)的子集进行采样来计算多个距离矩阵。这样一来,彼此相距较远的群体大部分时间都将保持距离很远,彼此接近的群体也是如此。然后,您可以查看平均距离来确定各组之间的距离。