因此,我需要使用欧几里得距离或任何东西,找到pyspark DF中给定行的最近邻居。我有超过20列,超过千行和所有值的数据是数字。使用欧几里得距离或类似的pyspark中最近的邻居
我想在pyspark中过度采样一些数据,因为mllib没有内置的支持,我决定使用smote自己创建它。
我的方法直到现在一直使用stringtoindex将所有分类距离转换为索引,以便我可以找到欧几里德距离和邻居,从而执行smote。
我是相当新的火花和毫升。任何帮助,将不胜感激。
因此,我需要使用欧几里得距离或任何东西,找到pyspark DF中给定行的最近邻居。我有超过20列,超过千行和所有值的数据是数字。使用欧几里得距离或类似的pyspark中最近的邻居
我想在pyspark中过度采样一些数据,因为mllib没有内置的支持,我决定使用smote自己创建它。
我的方法直到现在一直使用stringtoindex将所有分类距离转换为索引,以便我可以找到欧几里德距离和邻居,从而执行smote。
我是相当新的火花和毫升。任何帮助,将不胜感激。
没试过,但伊夫发现这个脚本:https://github.com/jakac/spark-python-knn/blob/master/python/gaussalgo/knn/knn.py
如果你的数据是数据框,你应该首先合并的列与vectorASsembler https://spark.apache.org/docs/latest/ml-features.html#vectorassembler载体,然后用df.select("id", "yourColumnVector")
我提供的库似乎工作只适用于rdd,因此您应该使用df.rdd
将您的数据帧转换为RDD您的* specific *问题是什么?请告诉我们你到目前为止所尝试过的。堆栈溢出不是一种代码编写服务,但如果你至少试图自己解决问题,人们愿意帮助你。请阅读[如何创建最小,完整和可验证的示例](http://stackoverflow.com/help/mcve)和[我如何提出一个好问题?](http://stackoverflow.com/help/如何对问)。然后,更新并*改进您的问题*。 –
做了一些编辑,谢谢你的建议。 –