Как я могу получить кумулятивную долю PCA с помощью Tidymodels? - PullRequest
2 голосов
/ 29 мая 2020

Я могу применить PCA к набору данных classi c Iris, чтобы получить кумулятивную пропорцию для каждого измерения:

library(tidyverse)
x <- iris[,1:4] %>% as.matrix()
pca <- prcomp(x)
summary(pca)

Но я не знаю, как это сделать с tidymodels. Мой код на данный момент:

library(tidymodels)
iris_vars <- iris %>% select(-Species)
iris_rec <- recipe(~., iris_vars) %>%
  step_pca(all_predictors())
iris_prep <- prep(iris_rec)
iris_tidy <- tidy(iris_prep,1)
iris_tidy
summary(iris_tidy)

Я хотел бы получить его с помощью tidymodels:

Importance of components:
                          PC1     PC2    PC3     PC4
Standard deviation     2.0563 0.49262 0.2797 0.15439
Proportion of Variance 0.9246 0.05307 0.0171 0.00521
Cumulative Proportion  0.9246 0.97769 0.9948 1.00000

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 29 мая 2020

Вы можете получить те же результаты, если используете ту же модель. prcomp() по умолчанию center = TRUE, тогда как step_pca() по умолчанию center = FALSE. В дальнейшем я использую центрирование и масштабирование для обоих (так как это часто рекомендуется). .3.0)

...