在scikit-learn的类库中,sklearn.cluster.SpectralClustering实现了基于Ncut的谱聚类,没有实现基于RatioCut的切图聚类。同时,对于相似矩阵的建立,也只是实现了基于K邻近法和全连接法的方式,没有基于ϵ-邻近法的相似矩阵。最后一步的聚类方法则提供了两种,K-Means算法和 discretize算法。
SpectralClustering的参数解释如下:
代码示例:
import time
from sklearn.cluster import SpectralClustering
from sklearn import metrics
if __name__ == "__main__":
start = time.clock()
#X是训练集
for index, gamma in enumerate((0.01,0.1,1)):
for index, k in enumerate((3,4,5,6)):
y_pred = SpectralClustering(n_clusters=k, gamma=gamma).fit_predict(X)
print "Calinski-Harabasz Score with gamma=", gamma, "n_clusters=", k,"score:", metrics.calinski_harabaz_score(X, y_pred)
end = time.clock()
print('finish all in %s' % str(end - start))
引自:https://www.cnblogs.com/pinard/p/6235920.html
代码本地调试过。