Apa implikasi untuk melatih Tree Ensemble dengan set data yang sangat bias?

14

Saya memiliki dataset biner yang sangat bias - Saya memiliki 1000x lebih banyak contoh kelas negatif daripada kelas positif. Saya ingin melatih Ensemble Pohon (seperti Pohon Acak Ekstra atau Hutan Acak) pada data ini, tetapi sulit untuk membuat kumpulan data pelatihan yang berisi cukup contoh kelas positif.

Apa implikasi dari melakukan pendekatan pengambilan sampel bertingkat untuk menormalkan jumlah contoh positif dan negatif? Dengan kata lain, apakah itu ide yang buruk untuk, misalnya, mengembang secara artifisial (dengan resampling) jumlah contoh kelas positif dalam set pelatihan?

gallamine
sumber

Jawaban:

10

Ya, itu bermasalah. Jika Anda berlebihan terhadap minoritas, Anda berisiko overfitting. Jika Anda meremehkan mayoritas, Anda berisiko kehilangan aspek kelas mayoritas. Stratified sampling, btw, adalah setara dengan menetapkan biaya kesalahan klasifikasi yang tidak seragam.

Alternatif:

(1) Secara mandiri mengambil sampel beberapa himpunan bagian dari kelas mayoritas dan membuat beberapa pengklasifikasi dengan menggabungkan setiap subset dengan semua data kelas minoritas, seperti yang disarankan dalam jawaban dari @Debasis dan dijelaskan dalam makalah EasyEnsemble ini ,

(2) SMOTE (Teknik Oversampling Minoritas Sintetis) atau SMOTEBoost, (menggabungkan SMOTE dengan boosting) untuk membuat turunan sintetis dari kelas minoritas dengan membuat tetangga terdekat di ruang fitur. SMOTE diimplementasikan dalam R dalam paket DMwR .

MattBagg
sumber
11

Saya akan merekomendasikan pelatihan tentang himpunan bagian data Anda yang lebih seimbang. Melatih hutan acak pada set contoh positif yang dipilih secara acak dengan jumlah sampel negatif yang sama. Khususnya jika fitur diskriminatif menunjukkan banyak varian, ini akan cukup efektif dan menghindari pemasangan yang berlebihan. Namun dalam stratifikasi, penting untuk menemukan keseimbangan karena pemasangan berlebihan dapat menjadi masalah. Saya akan menyarankan untuk melihat bagaimana model dilakukan dengan seluruh kumpulan data kemudian secara progresif meningkatkan rasio sampel positif ke negatif mendekati rasio genap, dan memilih model yang memaksimalkan metrik kinerja Anda pada beberapa data bertahan yang representatif.

Makalah ini tampaknya cukup relevan http://statistics.berkeley.edu/sites/default/files/tech-reports/666.pdf itu berbicara tentang weighted Random Forestyang lebih berat menghukum kesalahan klasifikasi kelas minoritas.

indico
sumber
4

Cara cepat, mudah dan sering efektif untuk mendekati ketidakseimbangan ini adalah dengan secara acak mengambil sampel kelas yang lebih besar (yang dalam kasus Anda adalah kelas negatif), jalankan klasifikasi N beberapa kali dengan anggota dari dua kelas (satu penuh dan yang lain) subsampled) dan melaporkan nilai metrik rata-rata, rata-rata dihitung atas iterasi N (katakanlah 1000).

Pendekatan yang lebih metodis adalah dengan mengeksekusi algoritma Pemetaan Konvergensi (MC), yang melibatkan identifikasi subset sampel negatif yang kuat dengan bantuan classifier satu kelas, seperti OSVM atau SVDD, dan kemudian secara iteratif menjalankan klasifikasi biner pada set. sampel negatif dan positif yang kuat. Lebih detail dari algoritma MC dapat ditemukan dalam kertas .

Debat
sumber
0

Seperti disebutkan di atas, cara terbaik adalah dengan berulang kali sampel kelas mayoritas N kali (pengambilan sampel tanpa penggantian) dan untuk setiap kali, ukuran kelas negatif harus sama dengan ukuran kelas positif. Sekarang, N pengklasifikasi yang berbeda dapat dilatih dan rata-rata dapat digunakan untuk mengevaluasinya.

Cara lain adalah dengan menggunakan teknik bootstrap. Ini mungkin memperkenalkan overfitting, tetapi patut dicoba dan kemudian jika perlu dapat mengatur model untuk menghindari overfitting.

Ram
sumber