MulaiMulai sekarang secara gratis

Validasi silang 10-fold

Seperti yang Anda lihat di video, pendekatan yang lebih baik untuk memvalidasi model adalah menggunakan beberapa himpunan uji yang sistematis, bukan satu pemisahan acak latih/uji. Untungnya, paket caret membuat hal ini sangat mudah dilakukan:

model <- train(y ~ ., my_data)

caret mendukung banyak jenis validasi silang, dan Anda dapat menentukan jenis validasi silang serta jumlah lipatan validasi silang dengan fungsi trainControl(), yang Anda berikan ke argumen trControl dalam train():

model <- train(
  y ~ ., 
  my_data,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = 10,
    verboseIter = TRUE
  )
)

Penting untuk dicatat bahwa metode untuk pemodelan Anda berikan ke fungsi utama train() dan metode untuk validasi silang Anda berikan ke fungsi trainControl().

Latihan ini adalah bagian dari kursus

Machine Learning dengan caret di R

Lihat Kursus

Petunjuk latihan

  • Sesuaikan regresi linear untuk memodelkan price menggunakan semua variabel lain pada himpunan data diamonds sebagai prediktor. Gunakan fungsi train() dan validasi silang 10-fold. (Perhatikan bahwa kami mengambil subset dari himpunan data diamonds penuh untuk mempercepat proses ini, tetapi namanya tetap diamonds.)
  • Cetak model ke konsol dan periksa hasilnya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Fit lm model using 10-fold CV: model
model <- train(
  ___, 
  ___,
  method = "lm",
  trControl = trainControl(
    method = "cv", 
    number = ___,
    verboseIter = TRUE
  )
)

# Print model to console
Edit dan Jalankan Kode