Boyut indirgeme

R'da Feature Engineering

Jorge Zazueta

Research Professor and Head of the Modeling Group at the School of Economics, UASLP

Sıfır varyanslı özellikler

Bazı veri kümelerinde sabit değerli veya sıfır varyanslı sütunlar vardır. Bu özellikleri recipe() içine step_zv() ekleyerek filtreleyebiliriz.

Sıfır varyanslı bir özelliği gösteren tablo.

R'da Feature Engineering

Sıfıra yakın varyanslı özellikler

Sıfıra yakın varyanslı özellikler, tek değere sahip yordayıcıları ve aşağıdaki iki özelliği birden taşıyan yordayıcıları içerir:

  • Örnek sayısına göre çok az benzersiz değer

  • En yaygın değerin frekansının, ikinci en yaygın değerin frekansına oranı büyüktür

Sıfıra yakın varyansa örnek:

  • 100 gözlemde iki farklı değer vardır, ancak biri yalnızca bir kez görülür.

step_nzv() bu özelliklere sahip yordayıcıları belirler ve kaldırır.

R'da Feature Engineering

Temel Bileşen Analizi (PCA)

İki sınıfa ait üç boyutlu özgün veri kümesi.

İki veri sınıfını gösteren üç boyutlu grafik.

İlk iki temel bileşeni kullanarak indirgenmiş veri kümesi.

İlk iki temel bileşenin saçılım grafiği olarak iki veri sınıfını gösteren iki boyutlu grafik.

R'da Feature Engineering

Bir recipe hazırlayalım

PCA uygulamak için bir recipe oluşturma ve çıktıyı prep() ile alma.

pc_recipe <- 
recipe(~., data = loans_num) %>%
  step_nzv(all_numeric()) %>%
  step_normalize(all_numeric()) %>%
  step_pca(all_numeric())
pca_output <- prep(pc_recipe)

pca_output üzerinde names() çağırarak mevcut bilgileri görebiliriz.

names(pca_output)
 [1] "var_info"       "term_info"     
 [3] "steps"          "template"      
 [5] "levels"         "retained"      
 [7] "requirements"   "tr_info"       
 [9] "orig_lvls"      "last_term_info"
R'da Feature Engineering

Açıklanan varyansı ortaya çıkarma

pca_output nesnesinden standart sapmayı çıkarın ve açıklanan varyansı hesaplayın.

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))

Temel bileşenlere göre açıklanan varyansı gösteren bir tablo.

# 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
R'da Feature Engineering

Açıklanan varyansı görselleştirme

Çıktıyı ggplot2 ile sütun grafiği olarak çizebiliriz.

PCA %>% 
ggplot(aes(x = PC, 
           y = var_explained)) +
  geom_col(fill = "steelblue") +
  xlab("Principal components") +
  ylab("Variance explained")

Temel bileşenlere göre açıklanan varyans.

Temel bileşenlere göre açıklanan varyansı gösteren sütun grafik.

R'da Feature Engineering

Hadi pratik yapalım!

R'da Feature Engineering

Preparing Video For Download...