Regressione lineare con tidymodels

Modellazione con tidymodels in R

David Svancer

Data Scientist

Adattamento del modello con parsnip

Adattamento del modello con parsnip

Modellazione con tidymodels in R

Modello di regressione lineare

Prevedere hwy usando cty come predittore  

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

Parametri del modello

  • $ \beta_{0} $ è l'intercetta
  • $ \beta_{1} $ è la pendenza

 

Efficienza autostrada vs città

Modellazione con tidymodels in R

Modello di regressione lineare

Prevedere hwy usando cty come predittore  

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

Parametri del modello

  • $ \beta_{0} $ è l'intercetta
  • $ \beta_{1} $ è la pendenza

 

Parametri stimati dai dati di training

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

 

Dati mpg con retta di regressione

Modellazione con tidymodels in R

Formule del modello

Formule del modello in parsnip

  • Usate per assegnare i ruoli delle colonne
    • Variabile di output
    • Variabili predittori

Forma generale

output ~ predictor_1 + predictor_2 + ...

Notazione abbreviata

output ~ .

Prevedere hwy usando cty come variabile predittore

hwy ~ cty
Modellazione con tidymodels in R

Il pacchetto parsnip

Sintassi unificata per specificare modelli in R

  1. Specifica il tipo di modello

    • Regressione lineare o altro tipo
  2. Specifica il motore

    • Motori diversi corrispondono a diversi pacchetti R
  3. Specifica la modalità

    • Regressione o classificazione

Pacchetto Parsnip

Modellazione con tidymodels in R

Adattare un modello di regressione lineare

 

Definisci la specifica del modello con parsnip

  • linear_reg()

 

Passa lm_model alla funzione fit()

  • Specifica la formula del modello
  • data da usare per l'addestramento

 

lm_model <- linear_reg() %>%

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

 

lm_fit <- lm_model %>% 
  fit(hwy ~ cty, data = mpg_training)
Modellazione con tidymodels in R

Ottenere i parametri stimati

 

La funzione tidy()

  • Prende un oggetto modello parsnip addestrato
  • Crea un riepilogo del modello in un tibble
  • Le colonne term ed estimate danno i parametri stimati

 

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
Modellazione con tidymodels in R

Fare previsioni

Passa il modello parsnip addestrato alla funzione predict()

  • new_data indica il dataset su cui prevedere i nuovi valori

 

Output standardizzato di predict()

  1. Restituisce un tibble
  2. Mantiene l'ordine delle righe di new_data
  3. Chiama la colonna di previsione .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
Modellazione con tidymodels in R

Aggiungere previsioni ai dati di test

La funzione bind_cols()

  • Unisce due o più tibble per colonne
  • Utile per creare un tibble di risultati del modello

Passi

  • Seleziona hwy e cty da mpg_test
  • Passa a bind_cols() e aggiungi la colonna delle previsioni
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
Modellazione con tidymodels in R

Let's model!

Modellazione con tidymodels in R

Preparing Video For Download...