我想知道什么是将中心居中的有效方法 在Spark中有效地获取RowMatrix的数据(对于大型输入),请执行库 或已经存在执行此操作的功能? 到目前为止,我正在考虑只定义一个函数,然后使用map减去 是什么意思,但这有效吗?
我要这样做是为了在以后执行SVD(执行PCA) 给定的矩阵。
编辑: 在这里,我发现了可以通过前面提到的方法(使用map)进行均值平移的东西:
ScreenTwoFragment
源:https://github.com/apache/spark/pull/17907/commits/956ce87cd151a9b30d181618aad7ef2a7ee859dc
预先感谢
答案 0 :(得分:1)
提取行:
val mat: RowMatrix = ???
val rows = mat.rows
适合StadardScalerModel
import org.apache.spark.mllib.feature.StandardScaler
val scaler = new StandardScaler(withMean = true, withStd = false).fit(rows)
比例
scaler.transform(rows)