Предоставьте повернутые данные (оценки основных компонентов) после PCA в Sparklyr.

Я пытаюсь найти способ получить оценки ПК, полученные после чередования компонентов PCA, найденных с помощью ml_pca().

Компоненты PCA легко доступны с помощью $components, но результат матричного умножения входных данных на компоненты 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)

Желаемый результат - это «проецируемый», но я хочу найти способ получить эту информацию прямо из объекта.


person Vasilis Vasileiou    schedule 02.08.2017    source источник


Ответы (1)


Вы можете попробовать что-то вроде этого.

    pca_model <- Data %>%
       ml_pca(features = c("feature1", "feature2"), k = 2) %>%
       sdf_project() %>%
       select(response_variable,starts_with("PC"))
person Aakash_S    schedule 13.03.2018