Regresie liniară cu tidymodels

Modelare cu tidymodels în R

David Svancer

Data Scientist

Antrenarea modelelor cu parsnip

Antrenarea modelelor cu parsnip

Modelare cu tidymodels în R

Model de regresie liniară

Predicția hwy utilizând cty ca predictor  

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

Parametrii modelului

  • $ \beta_{0} $ este interceptul
  • $ \beta_{1} $ este panta

 

Eficiența combustibilului: autostradă vs. oraș

Modelare cu tidymodels în R

Model de regresie liniară

Predicția hwy utilizând cty ca predictor  

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

Parametrii modelului

  • $ \beta_{0} $ este interceptul
  • $ \beta_{1} $ este panta

 

Parametri estimați din datele de antrenare

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

 

Date mpg cu dreapta de regresie liniară

Modelare cu tidymodels în R

Formule de model

Formule de model în parsnip

  • Utilizate pentru a atribui roluri coloanelor
    • Variabila de ieșire
    • Variabilele predictoare

Formă generală

outcome ~ predictor_1 + predictor_2 + ...

Notație prescurtată

outcome ~ .

Predicția hwy utilizând cty ca variabilă predictoare

hwy ~ cty
Modelare cu tidymodels în R

Pachetul parsnip

Sintaxă unificată pentru specificarea modelelor în R

  1. Specificați tipul modelului

    • Regresie liniară sau alt tip de model
  2. Specificați motorul

    • Motoare diferite corespund unor pachete R diferite
  3. Specificați modul

    • Regresie sau clasificare

Pachetul Parsnip

Modelare cu tidymodels în R

Antrenarea unui model de regresie liniară

 

Definiți specificațiile modelului cu parsnip

  • linear_reg()

 

Pasați lm_model funcției fit()

  • Specificați formula modelului
  • data utilizat pentru antrenarea modelului

 

lm_model <- linear_reg() %>%

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

 

lm_fit <- lm_model %>% 
  fit(hwy ~ cty, data = mpg_training)
Modelare cu tidymodels în R

Obținerea parametrilor estimați

 

Funcția tidy()

  • Preia un obiect model parsnip antrenat
  • Creează un tibble rezumat al modelului
  • Coloanele term și estimate furnizează parametrii estimați

 

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
Modelare cu tidymodels în R

Realizarea predicțiilor

Pasați modelul parsnip antrenat funcției predict()

  • new_data specifică setul de date pe care se fac predicțiile

 

Output standardizat din predict()

  1. Returnează un tibble
  2. Păstrează rândurile în aceeași ordine ca new_data
  3. Numește coloana de predicții .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
Modelare cu tidymodels în R

Adăugarea predicțiilor la datele de test

Funcția bind_cols()

  • Combină două sau mai multe tibble-uri pe axa coloanelor
  • Utilă pentru crearea unui tibble cu rezultatele modelului

Pași

  • Selectați hwy și cty din mpg_test
  • Pasați la bind_cols() și adăugați coloana de predicții
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
Modelare cu tidymodels în R

Să construim modele!

Modelare cu tidymodels în R

Preparing Video For Download...