【发布时间】:2021-08-19 01:56:10
【问题描述】:
我需要知道 k-means 生成的聚类中的项数。
我什至可以在此链接上找到可能的解决方案,内容失败。K-Means Clustering - output clusters contains same number of elements but in different order [ Python ]
下面是我的代码:
vect = TfidfVectorizer(input='filename', stop_words=stopwords_list, encoding='utf8', ngram_range=(1,2), min_df=3)
tf_idf_matrix = vect.fit_transform(list_of_files)
print(tf_idf_matrix)
kmeans_6 = KMeans(n_clusters=17, n_init=10, init="k-means++", max_iter=100)
clustter6 = kmeans_6.fit_predict(tf_idf_matrix)
clustter6
order_centroids = kmeans_6.cluster_centers_.argsort()[:, ::-1]
termos = list(vect.vocabulary_)
clusterlists = []
for i in range(17):
dummy_list = []
for ind in order_centroids[i]:
dummy_list.append('%s' % termos[ind])
clusterlists.append(dummy_list)
上面代码的输出是这样的,
clusterlists[0] = 52005 examples
clusterlists[1] = 52005 examples.
例如,我希望集群列表 [0] 呈现 3000 个示例。 Clusterlists 1 提供例如 3150 个示例。但是,它显示的是集群中所有索引的数据库中术语的总值。
【问题讨论】:
-
您想知道到达每个质心的样本数/示例数吗?
-
那个。我想知道每个集群中有多少术语/样本。例如,集群 1 中有多少个单词?由于我一共有 52005 个词,所以我想知道每个聚类中有多少个词。
标签: python python-3.x scikit-learn cluster-analysis k-means