Băm đặc trưng

Kỹ thuật đặc trưng (Feature Engineering) với R

Jorge Zazueta

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

Băm đặc trưng là gì?

  • Biến văn bản thành tập biến số
  • Dùng giá trị băm làm chỉ số đặc trưng
  • Biểu diễn dữ liệu ít bộ nhớ
  • Hữu ích khi có thể xuất hiện hạng mục mới trong dữ liệu mới

Gán chỉ số cho mỗi hãng dựa trên giá trị văn bản.

Bảng minh họa băm đặc trưng cho hãng hàng không.

Kỹ thuật đặc trưng (Feature Engineering) với R

Có bao nhiêu hãng?

Bộ dữ liệu flights có biến hãng bay dạng nhân tố, nhưng ta không biết liệu sẽ có hãng mới khi gặp dữ liệu mới hay không.

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
Kỹ thuật đặc trưng (Feature Engineering) với R

Hãy băm đặc trưng đó

Ta có thể tạo các dummy hash để biểu diễn giá trị nhân tố, dùng gói textrecipes.

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

# Bake the recipe object with new data
baked <- bake(object,
              new_data = flights_test)

Xem nhanh biểu diễn step_dummy_hash().

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
Kỹ thuật đặc trưng (Feature Engineering) với R

Trực quan hóa việc băm

Ta có thể xem ma trận với gói plot.matrix.

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

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

Biểu diễn đồ họa mẫu gán dummy hash cho nhân tố hãng bay gốc.

Kỹ thuật đặc trưng (Feature Engineering) với R

Ayo berlatih!

Kỹ thuật đặc trưng (Feature Engineering) với R

Preparing Video For Download...