Ini adalah pertanyaan secara umum, tidak spesifik untuk metode atau kumpulan data apa pun. Bagaimana kita menangani masalah ketidakseimbangan kelas dalam pembelajaran Supervised Machine di mana angka 0 adalah sekitar 90% dan angka 1 adalah sekitar 10% dalam dataset Anda. Bagaimana kita melatih penggolong secara optimal.
Salah satu cara yang saya ikuti adalah sampling untuk membuat dataset seimbang dan kemudian melatih classifier dan ulangi ini untuk beberapa sampel.
Saya merasa ini acak, Apakah ada kerangka kerja untuk mendekati masalah semacam ini.
Ini sangat tergantung pada metode pembelajaran. Sebagian besar pendekatan tujuan umum memiliki satu (atau beberapa) cara untuk menghadapinya. Perbaikan umum adalah menetapkan hukuman kesalahan klasifikasi yang lebih tinggi pada kelas minoritas, memaksa classifier untuk mengenalinya (SVM, regresi logistik, jaringan saraf, ...).
Mengubah sampling juga kemungkinan seperti yang Anda sebutkan. Dalam hal ini, oversampling kelas minoritas biasanya merupakan solusi yang lebih baik daripada undersampling kelas mayoritas.
Beberapa metode, seperti hutan acak, tidak memerlukan modifikasi apa pun.
sumber
Seringkali masalahnya bukan frekuensi tetapi jumlah absolut kasus di kelas minoritas. Jika Anda tidak memiliki cukup variasi dalam target ketika dibandingkan dengan variasi dalam fitur, maka itu mungkin berarti bahwa algoritma tidak dapat mengklasifikasikan sesuatu dengan sangat akurat.
Satu hal adalah hukuman kesalahan klasifikasi dapat digunakan pada langkah klasifikasi dan tidak pada langkah estimasi parameter jika ada. Beberapa metode tidak memiliki konsep parameter, mereka hanya menghasilkan label kelas langsung atau probabilitas kelas.
Ketika Anda memiliki estimator probabilistik maka Anda dapat membuat keputusan klasifikasi berdasarkan alasan teori informasi atau dengan kombinasi nilai bisnis.
sumber
Tambahkan dua trik: 1. gunakan CDF, hitung frekuensi dalam data pelatihan Anda atau gunakan validasi yang sangat besar (jika set tes Anda tidak akan berubah, tetapi set validasi harus memiliki distribusi yang sama dengan set pelatihan), kemudian sortir prediksi Anda, dan dapatkan X% pertama (hitungan frekuensi Anda sebelumnya) untuk satu kelas dan yang lain adalah / 2. sampel tertimbang, model akan cenderung ke kelas sampel tertimbang, Anda dapat menggunakan varians sampel v. mis. weighti = 1/2 (1- (vmax - vi) / vmax)
sumber