Ingineria caracteristicilor în R
Jorge Zazueta
Research Professor and Head of the Modeling Group at the School of Economics, UASLP
Unele seturi de date conțin coloane cu valori constante sau varianță zero. Putem elimina aceste caracteristici adăugând step_zv() în recipe().

Caracteristicile cu varianță aproape de zero includ predictori cu o singură valoare și predictori cu ambele caracteristici de mai jos:
Foarte puține valori unice față de numărul de observații
Raportul dintre frecvența celei mai comune valori și frecvența celei de-a doua valori este mare
Exemplu de varianță aproape de zero:
step_nzv() identifică și elimină predictorii cu aceste caracteristici.
Set de date tridimensional original cu două clase asociate.

Set de date redus reprezentat prin primele două componente principale.

Crearea unei rețete pentru PCA și obținerea rezultatelor prin prep().
pc_recipe <-
recipe(~., data = loans_num) %>%
step_nzv(all_numeric()) %>%
step_normalize(all_numeric()) %>%
step_pca(all_numeric())
pca_output <- prep(pc_recipe)
Putem examina informațiile disponibile apelând names() pe 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"
Extrageți deviația standard din obiectul pca_output și calculați varianța explicată.
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))
Tabel cu varianța explicată pe componente principale.
# 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
Putem reprezenta grafic rezultatele sub formă de diagramă cu coloane folosind ggplot2.
PCA %>%
ggplot(aes(x = PC,
y = var_explained)) +
geom_col(fill = "steelblue") +
xlab("Principal components") +
ylab("Variance explained")
Varianța explicată pe componente principale.

Ingineria caracteristicilor în R