from sklearn.cluster import KMeans
'''
features是一个二维矩阵,比如[99,200],表示有100个词,每个词对应200维的词向量。
features = [[...],
[...],
...
[...]]
'''
clf = KMeans(n_clusters=10,max_iter=10000,n_init = 10)
'''
n_clusters表示要分成的簇数
max_iter表示最大的迭代次数
n_init表示用不同的初始化质心运行算法的次数
'''
pred = clf.fit_predict(features)
print(pred)
聚类结果如下所示,我输入了99个词,共10类
pred:
[0 0 0 0 7 2 1 7 3 1 2 2 3 0 7 0 3 0 7 1 1 2 0 0 0 3 3 7 4 7 9 7 4 5 5 7 5
4 3 5 1 1 2 3 4 7 2 2 2 5 9 2 1 7 4 7 7 5 2 9 9 9 2 1 7 7 0 1 5 7 3 7 5 5
1 7 1 9 5 3 2 8 2 7 2 6 7 7 9 2 2 6 3 5 2 9 5 9 2]