枚举k均值聚类

时间:2016-08-11 13:29:40

标签: python cluster-analysis data-mining k-means

sample=['he buy fish','he buy bread','the pizza is die'
,'the man buy pizza','mcdonald is there','there is a boy',
'who beat the man','burger and pizza']

fidf_vectorizer = TfidfVectorizer(max_df=0.8, max_features=200000, min_df=0.2, stop_words='english',use_idf=True)
vect=TfidfVectorizer(min_df=1)
x=vect.fit_transform(sample)
idf=vect.idf_

dist = 1 - cosine_similarity(x)
num_clusters = 3

km = KMeans(n_clusters=num_clusters)
km.fit(x)
clusters = km.labels_.tolist()
print(clusters)

输出:

[2 2 0 0 1 1 0 0]

K-means完美地处理数据。但是,簇编号在0,1和2之间随机生成,而不遵循序列。

1 个答案:

答案 0 :(得分:0)

设计的k-means是一种随机算法。

随机中心开头。通过多次运行,您可以获得不同的解决方案。有些人可能比其他人更好 - 这很好。

因为它是随机的,所以没有定义哪个集群是集群#0,#1等 - 它们可能被置换。