Saya memiliki kumpulan data dalam bentuk (fitur, keluaran biner 0 atau 1), tetapi 1 jarang terjadi, jadi hanya dengan selalu memprediksi 0, saya mendapatkan akurasi antara 70% dan 90% (tergantung pada data tertentu yang saya lihat ). Metode ML memberi saya akurasi yang sama, dan saya merasa, harus ada beberapa metode standar untuk diterapkan dalam situasi ini, yang akan meningkatkan akurasi atas aturan prediksi yang jelas.
machine-learning
classification
binary-data
unbalanced-classes
Kucing pemalas
sumber
sumber
Jawaban:
Baik hxd1011 dan Frank benar (+1). Resampling dan / atau pembelajaran yang sensitif biaya pada dasarnya adalah dua cara utama untuk mengatasi masalah ketidakseimbangan data; ketiga adalah menggunakan metode kernel yang kadang-kadang mungkin kurang dipengaruhi oleh ketidakseimbangan kelas. Biarkan saya menekankan bahwa tidak ada solusi peluru perak. Menurut definisi Anda memiliki satu kelas yang diwakili tidak cukup dalam sampel Anda.
Setelah mengatakan hal di atas saya percaya bahwa Anda akan menemukan algoritma SMOTE dan ROSE sangat membantu. SMOTE secara efektif menggunakan pendekatan tetangga Nearest untuk mengecualikan anggota kelas mayoritas sementara dengan cara yang sama menciptakan contoh-contoh sintetis dari kelas minoritas. ROSE mencoba membuat perkiraan distribusi yang mendasari kedua kelas menggunakan pendekatan bootstrap yang diperhalus dan sampel untuk contoh-contoh sintetis. Keduanya tersedia dalam R, SMOTE dalam paket DMwR dan ROSE dalam paket dengan nama yang sama . Baik SMOTE dan ROSE menghasilkan set data pelatihan yang lebih kecil dari yang asli.k
Saya mungkin akan berpendapat bahwa metrik yang lebih baik (atau kurang buruk) untuk kasus data yang tidak seimbang menggunakan Cohenk dan / atau Area karakteristik penerima operasi di bawah kurva . Kappa Cohen secara langsung mengontrol akurasi yang diharapkan, AUC karena merupakan fungsi sensitivitas dan spesifisitas, kurva tidak peka terhadap perbedaan dalam proporsi kelas. Sekali lagi, perhatikan bahwa ini hanyalah metrik yang harus digunakan dengan sebutir garam besar. Idealnya Anda harus menyesuaikannya dengan masalah spesifik Anda dengan memperhitungkan keuntungan dan biaya yang benar dan klasifikasi salah yang disampaikan dalam kasus Anda. Saya telah menemukan bahwa melihat kurva angkatsebenarnya agak informatif untuk masalah ini. Terlepas dari metrik Anda, Anda harus mencoba menggunakan tes terpisah untuk menilai kinerja algoritma Anda; justru karena over-fitting yang tidak seimbang kelas bahkan lebih mungkin sehingga pengujian out-of-sample sangat penting.
Mungkin makalah terbaru yang paling populer tentang masalah ini adalah Belajar dari Ketidakseimbangan Data oleh He dan Garcia. Ini memberikan gambaran yang sangat bagus tentang poin yang diajukan oleh saya dan jawaban lainnya. Selain itu saya percaya bahwa walk-through pada Subsampling For Class Imbalances , yang disajikan oleh Max Kuhn sebagai bagian dari paket caret adalah sumber yang bagus untuk mendapatkan contoh struktur tentang bagaimana under-/ over-sampling serta pembuatan data sintetis dapat mengukur satu sama lain.
sumber
Pertama, metrik evaluasi untuk data yang tidak seimbang tidak akan akurat. Misalkan Anda melakukan deteksi penipuan, bahwa 99,9% data Anda bukan penipuan. Kita dapat dengan mudah membuat model boneka yang memiliki akurasi 99,9%. (cukup prediksi semua data non-penipuan).
Anda ingin mengubah metrik evaluasi Anda dari akurasi menjadi sesuatu yang lain, seperti skor F1 atau ketepatan dan daya ingat . Di tautan kedua saya berikan. ada detail dan intuisi tentang mengapa recall presisi akan bekerja.
Untuk data yang sangat tidak seimbang, membangun model bisa sangat menantang. Anda dapat bermain dengan fungsi penurunan tertimbang atau hanya memodelkan satu kelas saja. seperti satu kelas SVM atau muat multi-variate Gaussian (Seperti tautan yang saya berikan sebelumnya.)
sumber
Masalah ketidakseimbangan kelas dapat diatasi dengan pembelajaran yang sensitif-biaya atau resampling. Lihat keuntungan dan kerugian dari pembelajaran yang sensitif biaya vs. pengambilan sampel , yang disalin di bawah ini:
{1} memberikan daftar keuntungan dan kerugian dari pembelajaran yang sensitif biaya vs. pengambilan sampel:
Mereka juga melakukan serangkaian percobaan, yang tidak meyakinkan:
Mereka kemudian mencoba untuk memahami kriteria mana dalam kumpulan data yang mungkin mengisyaratkan teknik mana yang lebih cocok.
Mereka juga berkomentar bahwa SMOTE dapat membawa beberapa peningkatan:
{1} Weiss, Gary M., Kate McCarthy, dan Bibi Zabar. "Pembelajaran sensitif biaya vs. pengambilan sampel: Mana yang terbaik untuk menangani kelas yang tidak seimbang dengan biaya kesalahan yang tidak sama?" DMIN 7 (2007): 35-41. https://scholar.google.com/scholar?cluster=10779872536070567255&hl=id&as_sdt=0,22 ; https://pdfs.semanticscholar.org/9908/404807bf6b63e05e5345f02bcb23cc739ebd.pdf
sumber
Beberapa jawaban untuk pertanyaan ini telah menyediakan beberapa pendekatan berbeda, semuanya valid. Saran ini berasal dari sebuah makalah dan perangkat lunak terkait oleh Gary King, ilmuwan politik terkemuka di Harvard. Dia telah menulis sebuah makalah berjudul Regresi Logistik dalam Data Acara Jarang yang memberikan beberapa solusi yang cukup meyakinkan.
Berikut abstraknya:
Berikut ini tautan ke kertas ... http://gking.harvard.edu/files/abs/0s-abs.shtml
sumber
Pengembangan classifier untuk dataset dengan kelas yang tidak seimbang adalah masalah umum dalam pembelajaran mesin. Metode berbasis kepadatan dapat memiliki manfaat signifikan atas "pengklasifikasi tradisional" dalam situasi seperti itu.
Metode berbasis kepadatan memperkirakan kepadatan tidak diketahui , di mana adalah kelas yang paling dominan (Dalam contoh Anda, ).Cp^(x|y∈C) C C={x:yi=0}
Setelah estimasi kepadatan dilatih, Anda dapat memprediksi probabilitas bahwa catatan pengujian yang tidak terlihat milik perkiraan ini atau tidak. Jika probabilitasnya cukup kecil, kurang dari ambang yang ditentukan (biasanya diperoleh melalui fase validasi), maka , jika tidak* y ( x * ) ∉ C y ( x * ) ∈ Cx∗ y^(x∗)∉C y^(x∗)∈C
Anda bisa merujuk ke makalah berikut:
"Penaksir Plug-in yang dapat dihitung dari Set Volume Minimum untuk Deteksi Baru," C. Park, J. Huang dan Y. Ding, Riset Operasi, 58 (5), 2013.
sumber
Ini adalah jenis masalah di mana Deteksi Anomali adalah pendekatan yang berguna. Ini pada dasarnya adalah apa yang dijelaskan oleh rodrigo dalam jawabannya, di mana Anda menentukan profil statistik dari kelas pelatihan Anda, dan menetapkan ambang probabilitas di luar pengukuran di masa depan yang ditentukan bukan milik kelas itu. Berikut ini adalah video tutorial , yang seharusnya membantu Anda memulai. Setelah Anda menyerapnya, saya akan merekomendasikan mencari Kernel Density Estimation.
sumber