Ini mirip dengan pertanyaan metode pengambilan sampel Caret , meskipun itu benar-benar tidak pernah menjawab bagian dari pertanyaan ini dengan cara yang disepakati.
fungsi kereta caret menawarkan cv
dan repeatedcv
. Apa perbedaan dalam mengatakan melakukan:
MyTrainControl=trainControl(
method = "cv",
number=5,
repeats=5
)
vs.
MyTrainControl=trainControl(
method = "repeatedcv",
number=5,
repeats=5
)
Saya mengerti cv
memecah set ke k-folds (parameter number
), dan kemudian mulai lagi dan menjalankan parameter repeats
beberapa kali.
Satu-satunya hal yang dapat saya pikirkan adalah bahwa mungkin biasa cv
dengan repeats
menggunakan indeks yang sama persis untuk lipatan setiap kali? pada dasarnya menjalankan cv
lipatan tepat yang sama setiap kali, vs mungkin repeatedcv
memilih lipatan baru setiap kali?
Bisakah seseorang mengklarifikasi?
r
machine-learning
caret
Brian Feeny
sumber
sumber
Control()
sintaks kereta dalam R) untuk masing-masing lipatan k k (diberikan oleh angka). Dalam lipatan silang, saat menggunakan CV, ini adalah proses satu kali pada masing-masing lipatan (diatur dengan menggunakan angka dalam keretacontrol()
).Jawaban:
Menurut manual caret, halaman 22 , parameter
repeats
hanya berlaku ketikamethod
diatur kerepeatedcv
, jadi tidak ada pengulangan dilakukan ketikamethod
diatur kecv
. Jadi perbedaan antara kedua metode ini memang yangrepeatedcv
berulang dancv
tidak.Selain itu: Mengulangi crossvalidation dengan pemisahan yang persis sama akan menghasilkan hasil yang sama persis untuk setiap pengulangan (dengan asumsi bahwa model dilatih dengan cara deterministik), yang tidak hanya tidak efisien, tetapi juga berbahaya ketika membandingkan hasil validasi untuk algoritma model yang berbeda secara statistik. Jadi waspadai ini jika Anda harus memprogram validasi sendiri.
sumber
Kode aktual di balik parameter ini dapat ditemukan di
selectByFilter.R
dancreateDataPartition.R
(sebelumnyacreateFolds.R
) file sumber dalam folder `caret / R / 'dari paket.Lihat file-file ini misalnya di sini dan di sini (berhati-hatilah permalink ini akhirnya mengarah ke versi kode yang lebih lama). Untuk kenyamanan, cuplikan yang relevan (per versi 6.0-78 c. Nov 2017) ditunjukkan di bawah ini
Di selectByFilter.R c. baris 157
Di createDataPartition.R c. baris 227
sumber