【问题标题】:Enumeration of k-means clustersk-means 簇的枚举
【发布时间】:2016-12-18 06:38:01
【问题描述】:
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 1 1 2 2 1 1 这样的输出,而不是随机的,以便进一步处理
  • 我不明白集群的名称有多重要,但既然你现在有一个可以修改的列表,那有什么问题?
  • 不要转发近乎重复的问题 Python K-means clustering on document。如果您花更多时间提出更好的问题,您可能会得到更好的答案。使用“编辑”选项来改进您的问题。

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


【解决方案1】:
design

k-means 是一种随机算法。

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

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

【讨论】:

    猜你喜欢
    • 2016-04-14
    • 2016-11-26
    • 2015-01-05
    • 2016-12-03
    • 2021-06-18
    • 2014-07-12
    • 2013-07-07
    • 2018-11-19
    • 2011-07-27
    相关资源
    最近更新 更多