一、关于聚类算法的原理,大家可以看这篇文章(http://t.csdn.cn/yrLpQ)。
二、在我的代码里面就是只有五个点:x1(2,10),x2(2,5),x3(8,4),x4(5,8),x5(7,5),我们分两簇,以第二个点和第四个点为第一次的中心。
代码如下(非常简单,一看就懂):
`import numpy as np
import random
x = [2, 2, 8, 5, 7]
y = [10, 5, 4, 8, 5]
d1 = np.zeros(5)
d2 = np.zeros(5)
k2_x = np.zeros(5)
k2_y = np.zeros(5)
k4_x = np.zeros(5)
k4_y = np.zeros(5)
k2_means_x = 2
k2_means_y = 5
k4_means_x = 5
k4_means_y = 8
q=0
for j in range(20):
for i in range(5):
d1[i] = ((x[i] - k2_means_x) ** 2 + (y[i] - k2_means_y) ** 2) ** 0.5
d2[i] = ((x[i] - k4_means_x) ** 2 + (y[i] - k4_means_y) ** 2) ** 0.5
for i in ran