Statistics Tidak Seimbang dan Cara Menyeimbangkannya – Menuju AI – Teknologi, Sains, dan Teknik Terbaik

Penulis: Vaishnavi Patil

Pembelajaran mesin

Gambar oleh Roman Kraft di Unsplash

Belakangan ini, menangani information telah menjadi pekerjaan yang membosankan, mengingat fakta bahwa sebagian besar waktu dihabiskan untuk membersihkan dan memproses information sebelumnya. Seringkali information di dunia nyata tidak tersedia sesuai harapan kami. Ada banyak penyimpangan, dan sulit untuk menangani information semacam itu. Salah satu kendala utama dalam penanganan information tersebut adalah ketidakseimbangan. Secara mencolok, info terstruktur sedemikian rupa sehingga fitur goal (khususnya masalah klasifikasi) memiliki mayoritas satu kelas dan kelas kedua memiliki sedikit atau tanpa sampel pelatihan. Kedua, untuk masalah klasifikasi kelas jamak, dalam fitur goal, sampel pelatihan dari kelas tertentu sangat melebihi dibandingkan dengan sampel kelas lain. Ini menghambat kinerja version. Di bawah Tercantum adalah beberapa cara Anda dapat menghindari masalah tersebut dan memastikan bahwa version Anda melakukan keadilan yang efektif untuk information Anda.

Undersampling Oversampling Menyetel hyperparameter bobot version. Mengatur pemisahan uji kereta menjadi atribut stratify.

Undersampling

Undersampling mengacu pada penghapusan sampel pelatihan dari info yang termasuk dalam kelas fitur goal yang memiliki mayoritas di atas kelas lain. Metode ini, bagaimanapun, hadir dengan pro dan kontra. Kelebihannya, Anda dapat mempercepat pelatihan version karena version memiliki sampel yang relatif lebih sedikit untuk dilatih, dan place info seimbang. Kontra, karena jumlah sampel pelatihan berkurang, model (yang sangat efisien) tidak akan dapat menggeneralisasi dengan baik pada data yang tidak terlihat dan terkadang menyebabkan overfitting. Seperti yang dikatakan, semakin banyak info yang dilihat version, semakin baik prediksi pada info yang tidak terlihat.

Pengambilan sampel berlebihan

Gambar oleh Penulis

Oversampling adalah suatu teknik dimana jumlah sampel pelatihan dari kelas minoritas ditambah untuk menyeimbangkan jumlah sampel dari kelas mayoritas dan minoritas. Ini berlaku hanya untuk masalah klasifikasi biner di mana Anda hanya memiliki dua kelas. Dalam kasus klasifikasi kelas jamak, jumlah sampel kelas minoritas ditingkatkan. Salah satu teknik kunci yang digunakan untuk oversampling disebut SMOTE (Artificial Minority Oversampling Technique).

Dalam metode ini, sampel pelatihan acak dipilih dari kelas minoritas, dan dengan menggunakan K-Nearest Neighbours, sampel pelatihan yang paling dekat dengan sampel yang dipilih (biasanya k = 5) dipertimbangkan. Dari sampel yang dipilih ini, sampel acak dipilih. Dengan mempertimbangkan sampel ini dan sampel yang berkaitan dengan kelas minoritas, sampel pelatihan sintetis dibuat menggunakan metode SMOTE. Dengan penerapan oversampling, model Anda mungkin dapat menggeneralisasi information baru dengan baik. Satu kelemahan yang perlu dipertimbangkan adalah bahwa kumpulan info yang memiliki sampel pelatihan dalam jumlah besar tidak akan menjadi pilihan yang baik untuk pengambilan sampel yang berlebihan. Ini karena sejumlah besar sampel memperlambat proses pelatihan version yang ada.

Menyetel hyperparameter’bobot’ version.

Secara umum, jika Anda mempertimbangkan version pembelajaran mesin utama seperti Random Forest Classifier, Anda dapat menyempurnakan hyperparameter yang dikenal sebagai sample_weight. Misalnya, dalam masalah klasifikasi biner, jika kelas goal 1 melebihi 3 kali lipat dari kelas 0 maka Anda dapat menyetel hyperparameter ini sebagai sample_weight =[np.array[3 if i==0 else 1 if i==1] Demikian pula, pula untuk untuk pengklasifikasi Catboost, kami memiliki hyperparameter class_weights, yang dapat disetel bergantung pada distribusi kelas kami. Dalam metode ini, Anda perlu menentukan rasio masing-masing kelas. Misalnya, jika kelas 0 berkontribusi pada 70 persen sampel pelatihan dan 30 persen sisanya dimiliki oleh kelas 1, Anda harus menyetel parameter seperti class_weights =[0.3,0.7] Dari sini, kami menyimpulkan bahwa karena kelas 0 memiliki 70 percent sampel pelatihan, kami menetapkan nilai 0,3 untuk menyamakan rasio sehingga datanya seimbang. Kasus yang sama terjadi pada sampel dengan kelas 1.

Menyetel atribut stratify train_test_split.

Gambar oleh Alexandre Van Thuan di Unsplash

Di sini mari kita lihat metode langsung dan mudah yang melaluinya menyeimbangkan information sesederhana mungkin. Selama memisahkan put data menjadi put pelatihan dan pengujian, Anda dapat menentukan atribut’stratify’ dari fungsi tersebut, yang menyeimbangkan put info yang tidak seimbang. Dengan menggunakan atribut ini, train_test_split membagi put information asli sedemikian rupa sehingga proporsi kedua kelas (klasifikasi biner) dipertahankan dalam collection pelatihan dan validasi. Misalnya, jika Anda mendistribusikan information asli dalam rasio 80:20, train_test_split (y, test_size = 0,2, stratify = y), proporsi 80:20 dalam place pelatihan serta place pengujian akan dipertahankan. Ini adalah metode langsung; namun, Anda dapat menggunakan salah satu metode, yang pada gilirannya berkontribusi terhadap kinerja version Anda secara keseluruhan.

Referensi

Scikit mempelajari dokumentasi resmi. Gambar oleh Penulis. Gambar dari Unsplash.

Kesimpulan

Info dunia nyata seringkali tidak terstruktur dan tidak seimbang. Oleh karena itu, penanganan ketidakseimbangan information adalah salah satu poin utama yang harus diperhatikan selama preprocessing data. Saya berharap dapat memberikan informasi yang berharga tentang penanganan dataset yang tidak seimbang. Terakhir, salah satu metode terbaru untuk menangani ketidakseimbangan adalah metode Resampling Ensemble oleh Andreas Mueller. Jangan ragu untuk memeriksa ini dan metode di atas untuk penanganan data.

Information Tidak Seimbang dan Cara Menyeimbangkan Ini awalnya diterbitkan di Limit AI on Moderate, di mana orang-orang melanjutkan percakapan dengan menyoroti dan menanggapi cerita ini.

Diterbitkan melalui Towards AI

Leave a Reply