【发布时间】:2020-08-22 21:53:58
【问题描述】:
我有一个数据集,其中包含来自鸟类观察者的 cmets。我使用 TF-IDF 矢量化器将文本 cmets 转换为矢量特征,然后运行 K-means 聚类将我的数据分成簇。我有一组清晰的集群。但是,我一直在尝试找到一种方法来找出哪些单词进入了哪些集群。我知道如何获取特征标签/名称,但我想查看每个特征下的实际数据点,然后将它们转换回原始单词。我正在使用 Python 和 Scikit-Learn 的 K-means 算法。
def final_k_model(X, finalk):
final_k_mod = KMeans(n_clusters=finalk, init='random', n_init=10, max_iter=300, tol=1e-04, random_state=0)
final_k_mod.fit(X)
# plot the results:
centroids = final_k_mod.cluster_centers_
tsne_init = 'pca'
tsne_perplexity = 20.0
tsne_early_exaggeration = 4.0
tsne_learning_rate = 1000
random_state = 1
tsnemodel = TSNE(n_components=2, random_state=random_state, init=tsne_init, perplexity=tsne_perplexity,
early_exaggeration=tsne_early_exaggeration, learning_rate=tsne_learning_rate)
transformed_centroids = tsnemodel.fit_transform(centroids)
plt.figure(1)
plt.scatter(transformed_centroids[:, 0], transformed_centroids[:, 1], marker='x')
plt.savefig('plots\\cluster.png')
plt.show()
return final_k_mod
我包含了一些代码,但不确定它是否有帮助,因为我没有错误。我只是想弄清楚这是否可能,我一直在谷歌搜索并查看教程但没有找到。
【问题讨论】:
-
下一次,请花一分钟看看如何格式化你的代码(这次为你完成了)。
标签: python scikit-learn k-means