如何将K方法应用于可用的对称距离矩阵而又不必重新计算距离,因为该矩阵具有每个样本的距离值? sklearn_extra.cluster
的方法仅将数据样本作为参数,不将距离矩阵作为输入参数。
距离矩阵看起来像这样:
array([[ 0. , 10. , 22.361, 14.142],
[ 10. , 0. , 14.142, 10. ],
[ 22.361, 14.142, 0. , 22.361],
[ 14.142, 10. , 22.361, 0. ]])
在kmedoids对象初始化中使用metric="precomputed"
。然后只需传递fit
您预先计算的矩阵即可。
kmedoids = KMedoids(n_clusters=nclust, metric="precomputed").fit(X)