将距离矩阵传递给sklearn中的k均值聚类

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

根据 sklearn kmeans 文档,它说 k-means 需要一个 shape=(n_samples, n_features) 的矩阵。但我提供了一个 shape=(n_samples,n_samples) 的距离矩阵,其中每个索引保存两个字符串之间的距离。时间序列已使用 SAX 表示法转换为字符串。

当我使用距离矩阵运行聚类时,它给出了良好的结果。可能的原因是什么?据我所知,K-medoids 是与距离矩阵一起使用的。

python algorithm cluster-analysis k-means
2个回答
6
投票

K-means,顾名思义,使用 means

计算算术平均值需要访问原始特征,不能使用距离矩阵。

K-means 也不使用成对距离。所以距离矩阵对于这个算法来说是没有用的。

选择不同的算法,例如层次聚类。


0
投票

我还通过在 Kmeans sklearn 中插入距离矩阵来做到这一点。我尝试了一种不同的方法,使用 sckit learn Timeserieskmeans 以及度量“dtw”来处理相同的数据(类似数组),结果非常相似。怎么办?

© www.soinside.com 2019 - 2024. All rights reserved.