Regressão linear com tidymodels

Modelagem com tidymodels em R

David Svancer

Data Scientist

Ajuste de modelo com parsnip

Ajuste de modelo com parsnip

Modelagem com tidymodels em R

Modelo de regressão linear

Prevendo hwy usando cty como preditor  

$$hwy = \beta_{0} + \beta_{1} cty$$

Parâmetros do modelo

  • $ \beta_{0} $ é o intercepto
  • $ \beta_{1} $ é a inclinação

 

Eficiência na estrada vs. cidade

Modelagem com tidymodels em R

Modelo de regressão linear

Prevendo hwy usando cty como preditor  

$$hwy = \beta_{0} + \beta_{1} cty$$

Parâmetros do modelo

  • $ \beta_{0} $ é o intercepto
  • $ \beta_{1} $ é a inclinação

 

Parâmetros estimados nos dados de treino

$$\small hwy = 0.77 + 1.35(cty)$$

 

Dados mpg com linha de regressão linear

Modelagem com tidymodels em R

Fórmulas de modelo

Fórmulas de modelo no parsnip

  • Usadas para definir os papéis das colunas
    • Variável de saída
    • Variáveis preditoras

Forma geral

outcome ~ predictor_1 + predictor_2 + ...

Notação abreviada

outcome ~ .

Prevendo hwy usando cty como variável preditora

hwy ~ cty
Modelagem com tidymodels em R

O pacote parsnip

Sintaxe unificada para especificação de modelos em R

  1. Defina o tipo de modelo

    • Regressão linear ou outro tipo
  2. Defina a engine

    • Engines diferentes correspondem a pacotes R diferentes
  3. Defina o modo

    • Regressão ou classificação

Pacote parsnip

Modelagem com tidymodels em R

Ajustando um modelo de regressão linear

 

Defina a especificação do modelo com parsnip

  • linear_reg()

 

Passe lm_model para a função fit()

  • Especifique a fórmula do modelo
  • data a usar no ajuste

 

lm_model <- linear_reg() %>%

set_engine('lm') %>%
set_mode('regression')

 

lm_fit <- lm_model %>% 
  fit(hwy ~ cty, data = mpg_training)
Modelagem com tidymodels em R

Obtendo os parâmetros estimados

 

A função tidy()

  • Recebe um objeto parsnip treinado
  • Cria um tibble de resumo do modelo
  • Colunas term e estimate trazem os parâmetros estimados

 

tidy(lm_fit)
# A tibble: 2 x 5
  term        estimate std.error statistic  p.value
  <chr>          <dbl>     <dbl>     <dbl>    <dbl>
1 (Intercept)    0.769    0.528       1.46 1.47e- 1
2 cty            1.35     0.0305     44.2  6.32e-97
Modelagem com tidymodels em R

Fazendo previsões

Passe o modelo parsnip treinado para a função predict()

  • new_data define o conjunto no qual prever novos valores

 

Saída padronizada de predict()

  1. Retorna um tibble
  2. Mantém as linhas na mesma ordem de new_data
  3. Nomeia a coluna de predição como .pred
hwy_predictions <- lm_fit %>% 
  predict(new_data = mpg_test)

hwy_predictions
# A tibble: 57 x 1
   .pred
   <dbl>
 1  25.0
 2  27.7
 3  25.0
 4  25.0
 5  22.3
# ... with 47 more rows
Modelagem com tidymodels em R

Adicionando previsões aos dados de teste

A função bind_cols()

  • Combina dois ou mais tibbles ao longo das colunas
  • Útil para criar um tibble de resultados do modelo

Passos

  • Selecione hwy e cty de mpg_test
  • Passe para bind_cols() e adicione a coluna de previsões
mpg_test_results <- mpg_test %>%
  select(hwy, cty) %>%

bind_cols(hwy_predictions) 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

Vamos modelar!

Modelagem com tidymodels em R

Preparing Video For Download...