如何使用 Tidymodels 获取 PCA 累积比例?
How can I get PCA cumulative proportion with Tidymodels?
我可以在经典 Iris 数据集上应用 PCA 来获得每个维度的累积比例:
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
任何帮助将不胜感激。
如果您使用相同的模型,您可以获得相同的结果。 prcomp()
默认为 center = TRUE
,而 step_pca()
默认为 center = FALSE
。在下文中,我对两者都使用了居中和缩放(因为这经常被推荐)。
library("tidymodels")
x <- iris[,1:4] %>% as.matrix()
pca <- prcomp(x, scale. = TRUE)
summary(pca)
#> Importance of components:
#> PC1 PC2 PC3 PC4
#> Standard deviation 1.7084 0.9560 0.38309 0.14393
#> Proportion of Variance 0.7296 0.2285 0.03669 0.00518
#> Cumulative Proportion 0.7296 0.9581 0.99482 1.00000
iris_rec <- recipe(Species ~ ., iris) %>%
step_normalize(all_predictors()) %>%
step_pca(all_predictors())
iris_prep <- prep(iris_rec)
summary(iris_prep$steps[[2]]$res)
#> Importance of components:
#> PC1 PC2 PC3 PC4
#> Standard deviation 1.7084 0.9560 0.38309 0.14393
#> Proportion of Variance 0.7296 0.2285 0.03669 0.00518
#> Cumulative Proportion 0.7296 0.9581 0.99482 1.00000
由 reprex package (v0.3.0)
于 2020-05-29 创建
我可以在经典 Iris 数据集上应用 PCA 来获得每个维度的累积比例:
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
任何帮助将不胜感激。
如果您使用相同的模型,您可以获得相同的结果。 prcomp()
默认为 center = TRUE
,而 step_pca()
默认为 center = FALSE
。在下文中,我对两者都使用了居中和缩放(因为这经常被推荐)。
library("tidymodels")
x <- iris[,1:4] %>% as.matrix()
pca <- prcomp(x, scale. = TRUE)
summary(pca)
#> Importance of components:
#> PC1 PC2 PC3 PC4
#> Standard deviation 1.7084 0.9560 0.38309 0.14393
#> Proportion of Variance 0.7296 0.2285 0.03669 0.00518
#> Cumulative Proportion 0.7296 0.9581 0.99482 1.00000
iris_rec <- recipe(Species ~ ., iris) %>%
step_normalize(all_predictors()) %>%
step_pca(all_predictors())
iris_prep <- prep(iris_rec)
summary(iris_prep$steps[[2]]$res)
#> Importance of components:
#> PC1 PC2 PC3 PC4
#> Standard deviation 1.7084 0.9560 0.38309 0.14393
#> Proportion of Variance 0.7296 0.2285 0.03669 0.00518
#> Cumulative Proportion 0.7296 0.9581 0.99482 1.00000
由 reprex package (v0.3.0)
于 2020-05-29 创建