我想对 pyspark DataFrame 执行多维缩放。我知道如何使用 pandas + sklearn 解决我的问题,但我正在努力处理 spark 数据框。这是基于熊猫的解决方案:
from sklearn.metrics.pairwise import euclidean_distances
from sklearn import manifold
input_pandas_df = spark_df.toPandas()
distances = euclidean_distances(input_pandas_df )
scaled_distance_matrix = manifold.MDS(n_components=2).fit_transform(distances)
关于上面算法的第一部分,我有一个算法的想法,但是不知道怎么实现。
mapper(ri):
for all pairs (aij , aik) in ri do
Emit ((cj , ck) → aijaik)
end for
第二个问题是如何应用manifold.MDS。