在pyspark2.2或2.3中基于手动质心输入为特征分配预测

4uqofj5v  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(235)

我有两张table。一种是特征密集向量的大量记录,另一种是具有密集向量形式的质心值(相同特征)的聚类数的小表。我需要根据大表中每一行所有质心的最小欧氏距离,将小表中的聚类数分配给大表。

Big table:
Col A
Dense vector 1
Dense vector 2...

Small table:
Cluster | Centroid dense vector
   1    | Dense vector A
   2    | Dense vector B...

到目前为止,我已经准备好了欧几里德距离的代码:

from scipy.spatial import distance
distance_udf = F.udf(lambda x,y: float(distance.euclidean(x, y)), FloatType())

但我不能在现有的两个表中直接使用它,因为我需要在代码中有两列来计算这个距离。我不知道什么是最好的方法来将这些聚类数附加到基于这些质心的更大的数据集上,我应该如何操作数据从这里开始?

暂无答案!

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

相关问题