Özellik karma

R'da Feature Engineering

Jorge Zazueta

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

Özellik karma nedir?

  • Metin değişkenini sayısal değişkenlere dönüştürür
  • Özellik indeksleri için "hash" değerleri kullanır
  • Düşük bellekli veri gösterimi
  • Yeni veride yeni kategoriler beklediğimizde faydalıdır

Metin değerlerine göre her taşıyıcıya bir indeks numarası atayın.

Havayolu taşıyıcıları için özellik karmayı gösteren tablo.

R'da Feature Engineering

Kaç taşıyıcı var?

flights veri kümesi taşıyıcıları faktör olarak içerir; ancak yeni veriye baktığımızda yeni taşıyıcılar çıkıp çıkmayacağını bilmiyoruz.

flights %>%
  select(carrier) %>%
  table()
carrier
  9E   AA   AS   B6   DL   EV   F9   FL   HA   MQ   OO   UA   US   VX   WN   YV 
 859 1744   26 2503 2619 3014   38  186   14 1540    2 3367 1228  244  757   41
R'da Feature Engineering

Bu özelliği karmalayalım

Faktör değerlerini temsil etmek için sahte karmalar oluşturabiliriz. textrecipes paketini kullanarak.

recipe <- recipe(~carrier, 
                 data = flights_train) %>%
  step_dummy_hash(carrier, prefix = NULL, 
                  signed = FALSE, 
                  num_terms = 50L)
# Tarifi hazırla
object <- recipe %>%
  prep()

# Yeni veriyle tarifi uygula
baked <- bake(object,
              new_data = flights_test)

step_dummy_hash() gösterimine kısa bir bakış.

bind_cols(flights_test$carrier,baked)[1:6,c(1,18:20)]
New names:
• `` -> `...1`
# A tibble: 10 × 4
   ...1  `_carrier_17` `_carrier_18` `_carrier_19`
   <chr>         <int>         <int>         <int>
 1 EV                0             0             0
 2 B6                0             1             0
 3 EV                0             0             0
 4 MQ                0             0             0
 5 DL                0             0             0
 6 EV                0             0             0
R'da Feature Engineering

Karmayı görselleştirme

Matrise plot.matrix paketiyle bakabiliriz.

flights_hash <- 
    as.matrix(baked)[1:50,] 

plot(flights_hash, 
     col = c("white","steelblue"), 
     key = NULL,
     border = NA)

Orijinal taşıyıcı faktörünün örnek sahte karma atamalarının görsel gösterimi.

R'da Feature Engineering

Hadi pratik yapalım!

R'da Feature Engineering

Preparing Video For Download...