Dimensionality Reduction in R
Matt Pickard
Owner, Pickard Predictives, LLC
UMAP has similar hyperparameters that can be tuned.
library(embed)
set.seed(1234) umap_df <- recipe(Attrition ~ ., data = attrition_df) %>% step_normalize(all_predictors()) %>% step_umap(all_predictors(), num_comp = 2) %>% prep() %>% juice()
umap_df %>% ggplot(aes(x = UMAP1, y = UMAP2, color = Attrition)) + geom_point(alpha = 0.7)
umap_recipe <- recipe(Attrition ~ ., data = train) %>%
step_normalize(all_predictors()) %>%
step_umap(all_predictors(), num_comp = 4)
umap_lr_model <- linear_reg()
umap_lr_workflow <- workflow() %>%
add_recipe(umap_recipe) %>%
add_model(umap_lr_model)
umap_lr_fit <- umap_lr_workflow %>%
fit(data = train)
predict_umap_df <- test %>%
bind_cols(predict = predict(umap_lr_fit, test))
rmse(predict_umap_df, Attrition, .pred_class)
Dimensionality Reduction in R