1397535668 发表于 2017-4-28 08:27:40

k-means python代码

  k-means python代码

def fun_dis (x,y,n):
return sum (map (lambda v1,v2:pow(abs(v1-v2),n), x,y))
def distance (x,y):
#return fun_dis (x,y,2)
return fun_dis (x,y,1)

def min_dis_center(center, node):
min_index = 0
min_dista = distance (center,node)
for i in range (1,len(center)):
tmp = distance (center,node)
if (tmp < min_dista):
min_dista = tmp
min_index = i
return min_index

# input [,..]
# return
def k_means (info,k=5):
center = [] for i in range(k)]
result = [ for i in range(k)]
width= len (info)
for i in range(k,len(info)):
min_center = min_dis_center (center,info)
for j in range(width):
center = (center * center + info)/ (1.0+center)
center += 1
result.append (i)
return result,center

test_data = [,
,
,
,
,
,
,
,
]

data = k_means (test_data,2)
print data
print data
页: [1]
查看完整版本: k-means python代码