【发布时间】:2019-09-10 15:01:19
【问题描述】:
我正在研究 python 中的 K-means 算法,并以直观的方式完成了这段代码,并希望提出优化和重构它的建议。
for i in range(N):
for j in range(K):
averages[i, j] = np.linalg.norm(trips[i] - centroids[j])**2
for i in range(N):
assigns[i] = int(np.argmin(averages[i]))
for i in range(K):
temp = np.zeros([F])
temp = np.expand_dims(temp, axis=0)
for j in range(N):
if(int(assigns[j]) == i):
temp = np.insert(temp, 0, trips[j], axis=0);
temp = temp[:-1, :]
if(temp.shape[0] > 0):
centroids[i] = temp.sum(axis=0) / temp.shape[0]
谢谢!
【问题讨论】:
标签: python numpy machine-learning refactoring k-means