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
Petunjuk latihan
- Sesuaikan regresi linear untuk memodelkan
pricemenggunakan semua variabel lain pada himpunan datadiamondssebagai prediktor. Gunakan fungsitrain()dan validasi silang 10-fold. (Perhatikan bahwa kami mengambil subset dari himpunan datadiamondspenuh untuk mempercepat proses ini, tetapi namanya tetapdiamonds.) - 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