我有一个相似性矩阵,它考虑了80个用户中每两个用户之间的相似性。我想根据这个相似度矩阵对用户进行聚类。
label = SpectralClustering(n_clusters=5 ,affinity='precomputed').fit_predict(lena)
这是调用相似性矩阵并获得标签的正确方法吗? 例如:如果我们有三个用户,矩阵如[1,0.8,0; 0.8,1,0; 0,0,1]并得到像(1,1,2)那样的标签。
此外,我想使用Elbow方法https://en.wikipedia.org/wiki/Determining_the_number_of_clusters_in_a_data_set来设置正确的簇数。但很难对性能进行正确的测量。有什么建议?
答案 0 :(得分:0)
同样的问题,请阅读sklearn的文档,但仍不清楚。
来自我的调查:
given sc = SpectralClustering(n_clusters=5 ,affinity='precomputed')
sc.fit_predict(similarity_matrix)
应该做到这一点。它会将similarity_matrix
分配给sc.affinity_matrix_
,然后执行群集。