Imbalanced Learning

A.Rofiqi Maulana
2 min readDec 5, 2020

Tidak bisa dipungkiri bahwa dalam membuat suatu model machine learning, seringkali dijumpai kasus “imbalance dataset”. Imbalanced dataset merupakan kondisi dimana presentase suatu kategori pada variabel outcome tidak seimbang (balanced). Misalkan kita ingin memprediksi suatu transaksi apakah termasuk fraud atau tidak. Berdasarkan penusuran, ditemukan bahwa terdapat 98% kasus tidak fraud dan hanya 2% yang yang fraud. Kasus inilah yang dimaksud dengan “imbalanced”.

Pemodelan pada data imbalanced bisa menimbulkan bias. Hal ini karena nilai akurasi yang sangat tinggi namun nilai presisi yang rendah. Nilai akurasi bisa sangat tinggi karena keberhasilan yang tinggi pada kasus positif, yang notabene adalah mayoritas. Sedangkan pada kasus negatif, meskipun akurasi prediksi jelek, ini akan tertutupi oleh hasil dari kasus positif. Hal ini yang mengakibatkan terjadinya False Positif yang tinggi. Oleh karena itu, metrics akurasi saja tidak cukup, namun harus menggunakan nilai presisi maupun F1 Score. Beberapa catatan untuk metrik tersebut adalah

  1. Accuracy (salah jika kita menggunakan ini)
  2. Balanced-Accuracy (bisa jadi benar jika kita menggunakan ini)
  3. ROC (salah jika kita menggunakan ini)
  4. PR-ROC (bisa jadi benar jika kita menggunakan ini)

Terdapat beberapa teknik yang bisa digunakan untuk mengatasi imbalanced dataset yaitu

  1. Ovesampling (menambahkan data baru pada kategori yang minonitas)
  2. Undersampling (mengurangi data pada kategori yang mayoritas)
  3. SMOTE

Untuk menangani imbalanced dataset, kita bisa mulai dari

  1. Problem Definition (simplify problem misalkan dengan filtering)
  2. Data Level (use active learning)
  3. Algoritma

Berdasarkan riset terkait imbalaced dataset, ditemukan bahwa

  1. Random oversampling tidak efektif dalam meningkatkan pengenalan kategori minoritas, sehingga undersampling lebih disukai.
  2. Semaking tinggi komposisi kategori positif dan negatif, maka semaking tinggi pula tingkat error klasifikasinya.
  3. Undersampling memiliki kekurangan yaitu pada informasi pattern nya berkurang, karena pada dasarnya kita mengurangi dataset.
  4. Jika model yang kita pilih terdapat imbalance dataset, kita bisa menambahkan active learning, yaitu fungsinya untuk memvalidasi data yang probability prediction nya berada di tengah — tengah (0.5). Active learning ini menggunakah human untuk melakukan validasi (disebut dengan oracle).
  5. Algorima genetika bisa digunakan sebagai alternatif jika kita terjebak di local maksimal, dan sudah dibuktikan bahwa capable pada menangani data rarity
  6. Gunakan metode yang menggunakan metrics untuk menangani imbalaced dataset
  7. Kita bisa menggunakan Custom Loss Function untuk gradient boosting.
  8. Kita bisa menggunakan Algoritma seperti Adacost, RareBoost, SmoteBoost

Refference

  1. Haibo, HE & Yunqian MA. 2013. Imbalanced Learning: Foundations, Algorithms, and Applications. Wiley.

--

--