Feature Engineering в R
Jorge Zazueta
Research Professor and Head of the Modeling Group at the School of Economics, UASLP
Призначте кожному перевізнику індекс за його текстовим значенням.

Набір даних flights містить перевізників як фактори, але ми не знаємо, чи зʼявляться нові перевізники в нових даних.
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
Можна створити «даммі»-геші для подання факторних значень. Використаємо пакет 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)
Погляд на подання 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
Матрицю можна оглянути за допомогою пакета plot.matrix.
flights_hash <-
as.matrix(baked)[1:50,]
plot(flights_hash,
col = c("white","steelblue"),
key = NULL,
border = NA)

Feature Engineering в R