Saya telah diberitahu bahwa bermanfaat untuk menggunakan validasi lintas bertingkat terutama ketika kelas respons tidak seimbang. Jika salah satu tujuan validasi silang adalah untuk membantu menjelaskan keacakan sampel data pelatihan asli kami, tentu membuat setiap lipatan memiliki distribusi kelas yang sama akan bekerja melawan hal ini kecuali Anda yakin set pelatihan asli Anda memiliki distribusi kelas yang representatif.
Apakah logika saya cacat?
EDIT Saya tertarik pada apakah metode ini merusak kebaikan CV. Saya dapat melihat mengapa perlu jika Anda memiliki sampel kecil / kelas yang sangat tidak seimbang / keduanya untuk menghindari tidak memiliki perwakilan tunggal dari kelas minor dalam satu lipatan.
Makalah Apel-ke-Apel dalam Studi Validasi Lintas: Perangkap dalam Pengukuran Kinerja Klasifikasi mengedepankan kasus untuk stratifikasi dengan baik, tetapi semua argumen tampaknya berjumlah 'Stratifikasi memberikan pengamanan dan lebih konsistensi' tetapi tidak ada pengamanan yang diperlukan diberikan cukup data.
Apakah jawabannya hanya "Kami menggunakannya karena kebutuhan karena kami jarang memiliki data yang cukup." ?
sumber
Mungkin Anda bisa memikirkannya dengan cara ini. Katakanlah Anda memiliki dataset di mana terdapat 100 sampel, 90 di kelas 'A' dan 10 di kelas 'B'. Dalam desain yang sangat tidak seimbang ini jika Anda melakukan grup acak yang normal, Anda dapat membuat model dengan sangat sedikit (atau BAHKAN TIDAK ADA!) Dari kelas 'B'. Jika Anda sedang membangun model yang dilatih pada data di mana ada sangat sedikit, atau bahkan tidak ada, dari kelas lain bagaimana Anda bisa mengharapkannya untuk memprediksi kelompok yang lebih jarang secara efektif? Validasi silang bertingkat memungkinkan untuk pengacakan tetapi juga memastikan dataset tidak seimbang ini memiliki beberapa dari kedua kelas.
Untuk menenangkan kekhawatiran tentang penggunaan CV bertingkat dengan dataset yang lebih 'seimbang', mari kita lihat contoh menggunakan kode R.
Seperti yang Anda lihat, dalam dataset yang seimbang lipatan akan memiliki distribusi yang sama secara kebetulan. Oleh karena itu, stratifikasi CV hanyalah ukuran jaminan dalam keadaan ini. Namun, untuk mengatasi perbedaan Anda perlu melihat distribusi setiap lipatan. Dalam beberapa keadaan (bahkan mulai dari 50-50) Anda dapat memiliki lipatan yang memiliki 30-70 secara acak (Anda dapat menjalankan kode di atas dan melihat ini benar-benar membahagiakan!). Ini dapat mengarah pada model yang berkinerja lebih buruk karena tidak memiliki cukup satu kelas untuk memprediksi secara akurat sehingga meningkatkan varian CV keseluruhan. Ini jelas lebih penting ketika Anda memiliki sampel 'terbatas' di mana Anda lebih cenderung memiliki perbedaan distribusi yang sangat ekstrem.
Sekarang dengan kumpulan data yang sangat besar, stratifikasi mungkin tidak diperlukan karena lipatannya akan cukup besar untuk kemungkinan mengandung setidaknya sebagian besar kelas 'jarang'. Namun, sebenarnya tidak ada kerugian komputasi dan tidak ada alasan nyata untuk melupakan stratifikasi jika sampel Anda tidak seimbang, tidak peduli berapa banyak data yang Anda miliki dalam pendapat pribadi saya.
sumber
stratifcation is generally a better scheme, both in terms of bias and variance, when compared to regular cross-validation
. Tidak ada skema pengambilan sampel yang sempurna tetapi dalam desain yang tidak seimbang stratifikasi adalah pendekatan yang baik.