层次聚类,距离度量问题(Pearson、Manhattan、Euclidean)

问题描述 投票:0回答:0

我正面临这个奇怪的问题,我无法弄清楚。对于欧几里德距离和曼哈顿距离(无论是否标准化),聚类的划分方式非常奇怪。 我附上例子。

D <- get_dist(samp, stand=T, method="euclidean")
AHC    <- hclust(D, method = "average")
AVcl_k3 <- cutree(AHC, k =3)
table(AVcl_k3)
AVcl_k4 <- cutree(AHC, k = 4)
table(AVcl_k4)

Clusters i get standardizing data for the euclidean distance matrix

现在,如果我不标准化数据,我将面临与欧氏距离相同的问题。

 D <- get_dist(samp, stand=F, method="euclidean")
AHC    <- hclust(D, method = "average")
AVcl_k3 <- cutree(AHC, k =3)
table(AVcl_k3)
AVcl_k4 <- cutree(AHC, k = 4)
table(AVcl_k4)

Clusters i get not standardizing data for the euclidean distance matrix

如果我确实使用了皮尔逊相关性,无论我是否标准化,我都会得到不错的集群。

 D <- get_dist(samp, stand=T, method="pearson")
AHC    <- hclust(D, method = "average")
AVcl_k3 <- cutree(AHC, k =3)
table(AVcl_k3)
AVcl_k4 <- cutree(AHC, k = 4)
table(AVcl_k4)

如果我不使用 pearson 方法对数据进行标准化,我会得到不同的集群,但仍然划分得很好。我知道是否对数据进行标准化是有区别的。

有人可以帮我弄清楚为什么会这样吗?我在其他问题中读到欧几里德和皮尔逊,如果标准化,它们可以减少为余弦相似度。

在所有的代码和图像中,我只是展示了具有平均链接的层次聚类,但一般来说,这种现象发生在所有其他链接(单一和完整)上。

我使用的数据集是零售数据集,由 500k 个 istances x 8 个变量组成。它在 UCI 机器学习数据集上。我的聚类分析基于经过一些操作后从该数据集中提取的 Recency、Frequency、Monetary 变量。我必须包括这个细节:存在异常值,因为它们代表很少的 customerID,而这些 customerID 是消费最多和最频繁的人。所以他们不能被删除(通过皮尔逊相关性,我得到了一个由 23 个观察值组成的集群,而且只有这些客户)。 在此先感谢您的帮助

我试过在线阅读其他一些已解决的问题、书籍和论文,但没有帮助

r hierarchical-clustering euclidean-distance pearson-correlation
© www.soinside.com 2019 - 2024. All rights reserved.