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之间随机生成,而不遵循序列。
答案 0 :(得分:0)
以随机中心开头。通过多次运行,您可以获得不同的解决方案。有些人可能比其他人更好 - 这很好。
因为它是随机的,所以没有定义哪个集群是集群#0,#1等 - 它们可能被置换。