Penyeimbangan array untuk ML dengan jumlah objek minoritas yang tidak mencukupi dalam array

Saat memodelkan proses menggunakan ML (pembelajaran mesin), salah satu tugas yang paling melelahkan dan menuntut adalah membuat larik data yang cukup dalam volume untuk membuat model dengan karakteristik kualitas tinggi. Bagaimana jika tidak ada cukup data?





Sebagai bagian dari salah satu tugas menciptakan model matematika yang memperkirakan kemungkinan manipulasi laporan keuangan yang diberikan oleh klien ke bank, masalah data yang tidak mencukupi untuk melatih model dengan seorang guru telah diperbaiki. Pelaporan keuangan triwulanan (FO) dipilih sebagai objek array. Array terdiri dari beberapa ribu objek, dan ini cukup untuk tugas kita. Masalah muncul selama pembentukan nilai variabel target. Analis telah mengidentifikasi hanya 20 kasus manipulasi pelaporan keuangan yang terbukti. Ini adalah jumlah yang sangat kecil untuk susunan beberapa ribu objek. Jika array dibagi secara acak, dalam kasus kami sebanyak 5 kali lipat, saat menggunakan fungsi validasi silang, ada kemungkinan besar bahwabahwa lipatan mana pun akan tanpa objek dengan kasus manipulasi FO yang terbukti. Dalam hal ini, fungsi validasi silang tidak akan berguna dan proses pelatihan model akan berakhir dengan kesalahan.  





Sekilas, ada solusi untuk masalah ini, yang terdiri dari penggunaan metode "indersampling", yang intinya adalah menduplikasi dalam array objek-objek yang, dalam kasus kami, fakta manipulasi FD telah terbukti. Ternyata, penggunaan metode indersampling memecahkan masalah validasi silang, tetapi tidak mungkin membuat model dengan metrik kualitas yang dapat diterima. Disimpulkan bahwa penggunaan metode “indersampling” tidak dianjurkan dalam kasus ketika jumlah objek dari kelas minoritas dan kelas mayoritas berbeda beberapa kali lipat. Dalam kasus kami, metode duplikat membuat sejumlah besar objek dalam array, yang merupakan salinan lengkap dari induknya. Dalam hal ini, array kehilangan keunikannya, dan pelatihan pada sampel semacam itu menyebabkan model yang terlalu pas.Bukti fakta ini ditunjukkan oleh metrik kualitas model pada sampel uji.





ROC_AUC :





ROC_AUC, 0,55 . ROC_AUC , , .





. , , .





, «» « ». , , 20% . , 25% , , .     . , . 8 – . T/SQL :





PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY “PARAMETER”) OVER (PARTITION BY “CLIENT”)
      
      



8 , 8 .





():





= ( – _Me/_Me) *100;





= ( – _Me/ _Me) *100;





= | - |;





90% , , . 20 330. , .





ROC_AUC :





ROC_AUC, 0,84 . ROC_AUC , , .





Untuk mencapai keseimbangan tertentu dari kelas minoritas dan mayoritas dalam sampel, Anda dapat menggunakan algoritma SMOTE atau ASMO dari perpustakaan immblearn.





Kedua algoritma mencari "tetangga terdekat". Dianjurkan untuk menggunakan metode seperti itu ketika ada keyakinan besar bahwa di kelas minoritas, semua objek dalam parameternya adalah perwakilan dari kelas ini. Dalam kasus kami, objek jatuh ke dalam kelas minoritas berdasarkan penilaian analis, dan dalam proses penyeimbangan sampel berdasarkan algoritma yang dikembangkan, objek ditemukan bahwa, dalam hal parameternya, ternyata menjadi yang paling menonjol. perwakilan untuk menugaskan mereka ke kelas minoritas.








All Articles