超图谱聚类

正在学习超图聚类,看了聚类集成经典的论文,Cluster Ensembles -A Knowledge Reuse Framework for Combining Multiple Partitions,用谱聚类简单验证了超图聚类,贴出代码,希望大家指正,有问题请指教。

原论文部分:


代码:

import numpy as np
import pandas as pd
from pandas import Series,DataFrame
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
A=np.array([[0,3,2,1,0,0,0],
            [3,0,2,0,1,0,0],
            [2,2,0,1,0,0,0],
            [1,0,1,0,2,0,0],
            [0,1,0,2,0,1,1],
            [0,0,0,0,1,0,3],
            [0,0,0,0,1,3,0]])
D=np.diag((6,6,5,4,5,4,4))
L=D-A
eigval,eigvec=np.linalg.eig(L)
dim=len(eigval)

##对特征值、特征向量排序
dictEigval=dict(zip(eigval,range(0,dim))) 
##取前3个特征值、特征向量
kEig=np.sort(eigval)[0:3] 

ix=[dictEigval[k] for k in kEig] 
a,b=eigval[ix],eigvec[:,ix]

k=KMeans(n_clusters=3)
k.fit(b)

m=k.labels_
plt.scatter(b[:,1],b[:,2],c=k.labels_)  



猜你喜欢

转载自blog.csdn.net/cc27721/article/details/76783341