我想在python中运行Affinity Propagation。我知道sklearn.cluster有这个算法。似乎sklearn.cluster.AffinityPropagation通过将相似性矩阵计算为负欧氏距离来运行它。但是,我有自己的相似度矩阵,不想使用欧几里德距离。 所以我想知道是否有任何方法可以将我的相似性矩阵作为输入并基于此运行算法?
答案 0 :(得分:2)
是的,你可以做到!请参阅以下代码段
from sklearn.cluster import AffinityPropagation
# compute the similarity matrix
af = AffinityPropagation(affinity='precomputed', verbose=True)
af.fit(similarity_matrix)
print af.labels_, af.cluster_centers_indices_