使用DTW距离矩阵的聚集聚类

时间:2018-08-30 09:59:12

标签: python numpy scikit-learn cluster-analysis

我正在尝试对时间序列的数据集进行聚类。为此,我计算了成对的DTW距离。这些数据收集在一个距离矩阵中,我希望将其用作AgglomerativeClustering()sklearn方法的输入。

似乎我需要使用一个压缩距离矩阵。但是,如果这样做,则聚类方法会将每个距离解释为一个新样本,因此我得到了太多标签。我应该如何正确地做到这一点?

这是我尝试过的示例代码:

import numpy as np

# Test symmetric matrix
N = 4
b = np.random.randint(0,5,size=(N,N))
b_symm = (b + b.T)/2
np.fill_diagonal(b_symm,np.zeros(N))

# Condensed matrix
condensed = squareform(b_symm)
model = AgglomerativeClustering(n_clusters=2, linkage=linkage)
y = model.fit_predict(condensed.reshape(-1,1))

1 个答案:

答案 0 :(得分:0)

请参阅文档:

http://scikit-learn.org/stable/modules/generated/sklearn.cluster.AgglomerativeClustering.html

  

相似性:字符串或可调用,默认值:“欧几里得”

     

用于计算链接的度量。可以是“欧几里得”,“ l1”,“ l2”,“曼哈顿”,“余弦”或“ 预先计算”。如果链接为“病房”,则仅接受“欧几里得”。