我正在尝试找到一种方法来检索由ml_pca()找到的PCA组件旋转后获得的PC分数。
使用$ components可以轻松访问PCA组件,但PCA组件输入数据的矩阵乘法结果似乎无法访问。
我可以“手动”完成。例如,在Scala中它将是:
val mat: RowMatrix = new RowMatrix(dataRDD)
// Compute the top 4 principal components.
// Principal components are stored in a local dense matrix.
val pc: Matrix = mat.computePrincipalComponents(4)
// Project the rows to the linear space spanned by the top 4 principal components.
val projected: RowMatrix = mat.multiply(pc)
所需的输出是“投影”,但我想找到一种直接从对象中检索此信息的方法。
答案 0 :(得分:0)
你可以尝试这样的事情。
pca_model <- Data %>%
ml_pca(features = c("feature1", "feature2"), k = 2) %>%
sdf_project() %>%
select(response_variable,starts_with("PC"))