Feature Engineering em R
Jorge Zazueta
Research Professor and Head of the Modeling Group at the School of Economics, UASLP
Alguns conjuntos de dados têm colunas com valores constantes ou variância zero. Você pode filtrar esses atributos adicionando step_zv() à sua recipe().

Atributos com variância quase zero incluem preditores com um único valor e preditores com ambas as características abaixo:
Poucos valores únicos em relação ao número de amostras
Grande razão entre a frequência do valor mais comum e a do segundo mais comum
Exemplo de variância quase zero:
step_nzv() identifica e remove preditores com essas características.
Conjunto de dados original tridimensional com duas classes associadas.

Conjunto reduzido representando os dados pelos dois primeiros componentes principais.

Criando uma receita para executar PCA e obtendo a saída com prep().
pc_recipe <-
recipe(~., data = loans_num) %>%
step_nzv(all_numeric()) %>%
step_normalize(all_numeric()) %>%
step_pca(all_numeric())
pca_output <- prep(pc_recipe)
Podemos ver as informações disponíveis chamando names() em pca_output.
names(pca_output)
[1] "var_info" "term_info"
[3] "steps" "template"
[5] "levels" "retained"
[7] "requirements" "tr_info"
[9] "orig_lvls" "last_term_info"
Extraia o desvio padrão do objeto pca_output e calcule a variância explicada.
stdv <- pca_output$steps[[3]]$res$sdev
var_explained <- stdv^2/sum(stdv^2)
PCA = tibble(PC = 1:length(stdv),
var_explained = var_explained,
cumulative = cumsum(var_explained))
Uma tabela mostrando a variância explicada por componente principal.
# A tibble: 5 × 3
PC var_explained cumulative
<int> <dbl> <dbl>
1 1 0.315 0.315
2 2 0.214 0.529
3 3 0.202 0.730
4 4 0.198 0.928
5 5 0.0722 1
Podemos plotar a saída como um gráfico de colunas usando ggplot2.
PCA %>%
ggplot(aes(x = PC,
y = var_explained)) +
geom_col(fill = "steelblue") +
xlab("Componentes principais") +
ylab("Variância explicada")
Variância explicada por componente principal.

Feature Engineering em R