【发布时间】:2022-01-21 09:19:30
【问题描述】:
通过从头开始使用这种 k 均值聚类,我如何在照片的散点图上绘制 k=3 的初始随机聚类中心? Photo 鸢尾花数据集
import numpy as np
from scipy.spatial.distance import cdist
def kmeans(x,k, no_of_iterations):
idx = np.random.choice(len(x), k, replace=False)
#Randomly choosing Centroids
centroids = x[idx, :]
#finding the distance between centroids and all the data points
distances = cdist(x, centroids ,'euclidean')
points = np.array([np.argmin(i) for i in distances])
for _ in range(no_of_iterations):
centroids = []
for idx in range(k):
#Updating Centroids by taking mean of Cluster it belongs to
temp_cent = x[points==idx].mean(axis=0)
centroids.append(temp_cent)
centroids = np.vstack(centroids) #Updated Centroids
distances = cdist(x, centroids ,'euclidean')
points = np.array([np.argmin(i) for i in distances])
return points
【问题讨论】:
-
这段代码有输出但不显示集群中心,我需要显示中心
-
请不要重复发布问题。
-
@MichaelSzczesny 抱歉。你能帮忙解决这个问题吗?
-
@bgPark 我想自己实现。我可以打印出来,但是输出中看不到集群中心,我也想添加它。这是我的问题
标签: python matplotlib scipy jupyter-notebook