我有三个质心 (2,5)
, (6,2)
以及 (1,1)
还有一堆坐标。我试图用pyspark对k值为3的数据运行k-means。我的方法是创建一个函数,在其中输入坐标,然后返回最近的质心。我将函数定义如下:
def dist(x):
b = {'d1':distance.euclidean((2,5),x),'d2':distance.euclidean((6,2),x),'d3':distance.euclidean((1,1),x)}
def get_key(val):
for key, value in b.items():
if val == value:
return key
print(get_key(min(b.values())))
我的坐标示例如下。
[(3.023, 5.138),
(3.075, 4.989),
(2.321, 5.35),
(3.328, 4.944),
(1.625, 1.362),
(1.987, 1.266),
...]
我怎样才能从这里走得更远?我已经被困在这个相当长的一段时间,并将非常感谢一些帮助。
暂无答案!
目前还没有任何答案,快来回答吧!