Avaliando o desempenho do modelo

Modelagem com tidymodels em R

David Svancer

Data Scientist

Entrada para funções do yardstick

Todas as funções do yardstick exigem um tibble com resultados do modelo

  • Coluna com os valores reais da variável de saída
    • hwy para os dados de mpg
  • Coluna com as previsões do modelo
    • .pred
mpg_test_results
# A tibble: 57 x 3
     hwy   cty .pred
   <int> <int> <dbl>
 1    29    18  25.0
 2    31    20  27.7
 3    27    18  25.0
 4    26    18  25.0
 5    25    16  22.3
# ... with 47 more rows
Modelagem com tidymodels em R

Root mean squared error (RMSE)

RMSE estima o erro médio de previsão

  • Calculado com a função rmse() do yardstick
    • Recebe um tibble com resultados do modelo
    • truth é a coluna com os valores reais de saída
    • estimate é a coluna com os valores previstos
mpg_test_results %>% 
  rmse(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard        1.93
Modelagem com tidymodels em R

Métrica R squared

Mede a correlação ao quadrado entre valores reais e previstos

  • Também chamado de coeficiente de determinação
  • Varia de 0 a 1
    • Quando todas as previsões igualam os valores reais, R squared é 1
  • Calculado com a função rsq() do yardstick
mpg_test_results %>% 
  rsq(truth = hwy, estimate = .pred)
# A tibble: 1 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rsq     standard       0.904
Modelagem com tidymodels em R

Gráficos de R squared

Visualização da métrica R squared

  • Previsões do modelo versus valores reais
  • A linha y = x
    • Representa R squared igual a 1
  • Útil para achar possíveis problemas de desempenho
    • Padrões não lineares
    • Regiões com previsões ruins

Gráfico de R squared do modelo mpg

Modelagem com tidymodels em R

Plotando gráficos de R squared

Fazendo gráficos de R squared com ggplot2

  • Tibble com resultados do modelo
  • geom_point()
  • geom_abline()
  • coord_obs_pred()
ggplot(mpg_test_results, aes(x = hwy, y = .pred)) +

geom_point() +
geom_abline(color = 'blue', linetype = 2) +
coord_obs_pred() + labs(title = 'R-Squared Plot', y = 'Predicted Highway MPG', x = 'Actual Highway MPG')

Gráfico de R squared do modelo mpg

Modelagem com tidymodels em R

Agilizando o ajuste do modelo

A função last_fit()

  • Recebe uma especificação de modelo, fórmula e objeto de divisão dos dados
  • Executa o seguinte:
    1. Cria conjuntos de treino e teste
    2. Ajusta o modelo aos dados de treino
    3. Calcula métricas e previsões nos dados de teste
    4. Retorna um objeto com todos os resultados
lm_last_fit <- lm_model %>% 
  last_fit(hwy ~ cty, 
           split = mpg_split)
Modelagem com tidymodels em R

Coletando métricas

A função collect_metrics()

  • Recebe os resultados de last_fit()
    • Retorna um tibble com métricas de desempenho no conjunto de teste
  • Métricas padrão para regressão
    • RMSE
    • R squared
lm_last_fit %>% 
  collect_metrics()
# A tibble: 2 x 3
  .metric .estimator .estimate
  <chr>   <chr>          <dbl>
1 rmse    standard       1.93 
2 rsq     standard       0.904
Modelagem com tidymodels em R

Coletando previsões

A função collect_predictions()

  • Recebe os resultados de last_fit()
    • Retorna um tibble com as previsões do conjunto de teste
    • A coluna de previsões se chama .pred
    • Inclui a variável de saída e outras colunas identificadoras
lm_last_fit %>% 
  collect_predictions()
# A tibble: 57 x 4
   id               .pred  .row   hwy
   <chr>            <dbl> <int> <int>
 1 train/test split  25.0     1    29
 2 train/test split  27.7     3    31
 3 train/test split  25.0     7    27
 4 train/test split  25.0     8    26
 5 train/test split  22.3     9    25
# ... with 47 more rows
Modelagem com tidymodels em R

Vamos avaliar alguns modelos!

Modelagem com tidymodels em R

Preparing Video For Download...