在使用火花的aws上的python中的大矩阵的SVD

时间:2017-11-10 17:08:00

标签: python amazon-web-services pyspark svd

我正在将应用程序迁移到AWS,需要计算一个大的对称正值矩阵,然后进行SVD​​ /特征分解以恢复一些关键的特征向量和特征值。矩阵的边缘大小可能是100K或更多,所以我在Spark中寻找一个分布式运算符来比直接scipy / numpy svd运算符更快地执行SVD。我没有做出稀疏性的假设。有人可以建议如何使用Spark执行SVD吗?

1 个答案:

答案 0 :(得分:0)

Spark版本2.2.0有一个用于奇异值分解的python api。

# convert your rdd into RowMatrix
rm = RowMatrix(data_rdd)
# if number of components you wish to retain is p then
svd = rm.computeSVD(p, True)
U = svd.U
S = svd.S
V = svd.V