我在寻找一种方法来绘制以k均值表示的聚类着色的数据点时遇到问题。
我的字符串列表很长,我设法绘制了质心而不是数据点;
vectorizer = TfidfVectorizer(stop_words='english')
X = vectorizer.fit_transform(cleans)
true_k = 5
model = KMeans(n_clusters=true_k, init='k-means++', max_iter=100, n_init=1)
model.fit(X)
print("Top terms per cluster:")
order_centroids = model.cluster_centers_.argsort()[:, ::-1]
terms = vectorizer.get_feature_names()
for i in range(true_k):
print("Cluster %d:" % i),
for ind in order_centroids[i, :10]:
print(' %s' % terms[ind]),
print
print("\n")
plt.scatter(order_centroids[:, 0],order_centroids[:, 1], marker="x", s=150, linewidths=5, zorder=10)
plt.show()
我希望输出是按群集着色的数据点,而不是质心