Regresi linear dengan tidymodels

Pemodelan dengan tidymodels di R

David Svancer

Data Scientist

Pelatihan model dengan parsnip

Pelatihan model dengan parsnip

Pemodelan dengan tidymodels di R

Model regresi linear

Memprediksi hwy dengan cty sebagai prediktor  

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

Parameter model

  • $ \beta_{0} $ adalah intercept
  • $ \beta_{1} $ adalah kemiringan (slope)

 

Efisiensi bahan bakar tol vs kota

Pemodelan dengan tidymodels di R

Model regresi linear

Memprediksi hwy dengan cty sebagai prediktor  

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

Parameter model

  • $ \beta_{0} $ adalah intercept
  • $ \beta_{1} $ adalah kemiringan (slope)

 

Parameter taksiran dari data pelatihan

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

 

Data mpg dengan garis regresi linear

Pemodelan dengan tidymodels di R

Formula model

Formula model di parsnip

  • Untuk menetapkan peran kolom
    • Variabel keluaran
    • Variabel prediktor

Bentuk umum

outcome ~ predictor_1 + predictor_2 + ...

Notasi singkat

outcome ~ .

Memprediksi hwy dengan cty sebagai variabel prediktor

hwy ~ cty
Pemodelan dengan tidymodels di R

Paket parsnip

Sintaks terpadu untuk spesifikasi model di R

  1. Tentukan jenis model

    • Regresi linear atau jenis lain
  2. Tentukan engine

    • Engine berbeda sesuai paket R yang digunakan
  3. Tentukan mode

    • Regresi atau klasifikasi

Paket Parsnip

Pemodelan dengan tidymodels di R

Melatih model regresi linear

 

Definisikan spesifikasi model dengan parsnip

  • linear_reg()

 

Teruskan lm_model ke fungsi fit()

  • Tentukan formula model
  • data untuk pelatihan model

 

lm_model <- linear_reg() %>%

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

 

lm_fit <- lm_model %>% 
  fit(hwy ~ cty, data = mpg_training)
Pemodelan dengan tidymodels di R

Mendapatkan parameter taksiran

 

Fungsi tidy()

  • Menerima objek model parsnip terlatih
  • Membuat ringkasan model dalam tibble
  • Kolom term dan estimate berisi parameter taksiran

 

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
Pemodelan dengan tidymodels di R

Membuat prediksi

Teruskan model parsnip terlatih ke fungsi predict()

  • new_data menentukan data untuk prediksi nilai baru

 

Keluaran baku dari predict()

  1. Mengembalikan tibble
  2. Urutan baris sama dengan input new_data
  3. Menamai kolom prediksi .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
Pemodelan dengan tidymodels di R

Menambahkan prediksi ke data uji

Fungsi bind_cols()

  • Menggabungkan dua atau lebih tibble berdasarkan kolom
  • Berguna untuk membuat tibble hasil model

Langkah

  • Pilih hwy dan cty dari mpg_test
  • Teruskan ke bind_cols() dan tambahkan kolom prediksi
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
Pemodelan dengan tidymodels di R

Ayo memodelkan!

Pemodelan dengan tidymodels di R

Preparing Video For Download...