【发布时间】:2018-05-07 05:16:55
【问题描述】:
我正在对集群文档使用 python Kmean 聚类算法。我创建了一个术语文档矩阵
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.cluster import KMeans
vectorizer = TfidfVectorizer(tokenizer=tokenize, encoding='latin-1',
stop_words='english')
X = vectorizer.fit_transform(token_dict.values())
然后我使用以下代码应用 Kmean 聚类
km = KMeans(n_clusters=true_k, init='k-means++', max_iter=100, n_init=1)
y=km.fit(X)
我的下一个任务是查看每个集群中的热门词,在 googole 上搜索表明许多人使用 km.cluster_centers_.argsort()[:, ::-1] 来查找使用以下代码进行集群:
print("Top terms per cluster:")
order_centroids = km.cluster_centers_.argsort()[:, ::-1]
terms = vectorizer.get_feature_names()
for i in range(true_k):
print("Cluster %d:" % i, end='')
for ind in order_centroids[i, :10]:
print(' %s' % terms[ind], end='')
print()
现在我的问题是,据我了解,km.cluster_centers_ 返回集群中心的坐标,例如,如果有 100 个特征和三个集群,它将返回一个 3 行 100 列的矩阵,代表一个质心每个集群。我希望了解如何在上述代码中使用它来确定集群中的顶级术语。 谢谢任何cmets表示赞赏 纳迪姆
【问题讨论】:
-
我确定我可以查到,但
TfidfVectorizer和KMeans来自哪个库?如果您针对该软件包中的专家,您可能会得到更好的回应。具体来说,这些信息可以包含在标签中,也可以包含在问题本身和正文中。 -
我现在已经提到了我使用的库,它们来自 sklearn.feature_extraction.text import TfidfVectorizer from sklearn.cluster import KMeans
标签: python scikit-learn cluster-analysis k-means