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
Gán chỉ số cho mỗi hãng dựa trên giá trị văn bản.

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

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