means

l0oc07j2  于 2021-07-13  发布在  Spark
关注(0)|答案(0)|浏览(234)

我有三个质心 (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),
 ...]

我怎样才能从这里走得更远?我已经被困在这个相当长的一段时间,并将非常感谢一些帮助。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题