Bom dia!
Tudo bom?
Estou fazendo a atividade final do curso de introdução a machine learning e algumas dúvidas estão surgindo na parte usar o pacote recipes. Tentei buscar ajuda por meio desse link. Mas ainda restam dúvidas.
Segue o código. Suprimi a parte de análise exploratória para diminuir o código
library(tidymodels); library(skimr); library(vip); library(naniar)
# configurando ambiente ---------------------------------------------------
setwd("~/Curso/R/Machine Learning/TCC do curso")
adult <- readRDS("~/Curso/R/Machine Learning/TCC do curso/adult.rds")
adult <- adult %>% select(-id)
# Separando treino e teste ------------------------------------------------
adult_initial_split <- initial_split(adult, strata = "resposta", p = 0.75)
adult_train <- training(adult_initial_split)
adult_test <- testing(adult_initial_split)
# Data prep ---------------------------------------------------------------
adult_receita <- recipe(resposta ~ ., data = adult_train) %>%
step_impute_bag(workclass, occupation, native_country) %>%
step_zv(all_predictors()) %>%
step_normalize(all_numeric()) %>%
step_dummy(all_nominal(), -all_outcomes())
receita_treinada <- prep(adult_receita)
################ Regressão logística
# Modelos Regressão logística ----------------------------------------------
adult_model <- logistic_reg(penalty = tune(), mixture = tune()) %>%
set_mode("classification") %>%
set_engine("glmnet")
adult_workflow <- workflow() %>%
add_model(adult_model) %>%
add_recipe(adult_receita)
# Tunagem Regressão Logística ---------------------------------------------
adult_resamples <- vfold_cv(adult_train, v = 5)
adult_lr_tune_grid <- tune_grid(
adult_workflow,
resamples = adult_resamples,
metrics = metric_set(
accuracy,
kap, # KAPPA
roc_auc,
precision,
recall,
f_meas,
mn_log_loss),
control = control_grid(verbose = TRUE, allow_par = FALSE)
)
Dúvidas:
-
Quando eu rodo a linha que tem a função prep meu R demora muito e não gera resultado. Já tentei reiniciar, mas sem sucesso.
-
Após ver alguns exemplos de scripts das aulas, vi que precisava apenas do resultado da função recipe (
adult_receita
, nesse caso). Portanto, como consegui gerar o objeto adult_receita a partir do pacote recipe, segui para a criação do workflow. Porém, quando chego na tunagem de hiperparâmetros, também não consigo avançar. A barrinha do control_grid não sai do lugar. -
Como o resultado do prep (receita_treinada) não foi usado no workflow não consegui entender bem para que eu utilizaria o prep.
Desde já, obrigado pelo suporte!