glm_rec <-
recipe(on_goal ~ ., data = nhl_train) %>%
step_lencode_mixed(shooter, goaltender, outcome = vars(on_goal)) %>%
step_dummy(all_nominal_predictors()) %>%
step_mutate(
angle = abs( atan2(abs(coord_y), (89 - coord_x) ) * (180 / pi) ),
defensive_zone = ifelse(coord_x <= -25.5, 1, 0),
behind_goal_line = ifelse(coord_x >= 89, 1, 0)
) %>%
step_zv(all_predictors()) %>%
step_ns(angle, deg_free = tune("angle")) %>%
step_ns(coord_x, deg_free = tune("coord_x")) %>%
step_normalize(all_numeric_predictors())