Imbalanced Data - Data yang Tidak Seimbang pada Machine Learning
Saat ini machine learning (bisa juga disebut AI - Artificial Intelligence) adalah hal yang umum didengar atau dibaca diberbagai platform. Hal menarik karena machine/komputer dapat berpikir semakin mirip dengan cara manusia berpikir, dan salah satu yang menarik contohnya adalah ChatGPT yang dapat diajak komunikasi mirip seperti manusia.
Dalam proses pembuatan machine learning diperlukan data (biasa disebut dengan dataset) supaya komputer dapat belajar dari data tersebut. Salah satu fungsi machine learning adalah untuk klasifikasi data. Salah satu masalah yang sering timbul adalah “Imbalance Data” atau data yang tidak seimbang. Masalah dengan model yang dilatih pada data yang tidak seimbang adalah bahwa model tersebut belajar dan dapat mencapai akurasi tinggi dengan secara konsisten memprediksi kelas mayoritas sedangkan pada kelas minoritas bisa jadi memiliki akurasi yang lebih rendah.
Imbalanced data dapat menimbulkan masalah diantaranya:
- Biased Learning: Model menjadi baik dalam memprediksi apa yang umum (mayoritas) tetapi kesulitan memahami hal-hal yang kurang umum (minoritas). Model machine learning mengalami bias terhadap kelas mayoritas.
- Misleading Accuracy: Model machine learing cenderung memiliki akurasi tinggi ketika memprediksi kelas yang mayoritas dan ini bisa menyesatkan karena tidak menunjukkan seberapa baik komputer bekerja di kelas minoritas.
Sebagai contoh: Pada kasus pengumpulan data pelatihan untuk model yang memprediksi kondisi medis. Sebagian besar data pasien yang dikumpulkan, misalkan terdapat 95% data yang masuk ke dalam kelompok "sehat", sementara pasien yang sakit hanya mencakup sebagian kecil (5%) dari data tersebut. Selama pelatihan, model klasifikasi belajar bahwa ia dapat mencapai akurasi 95% ketika memprediksi "sehat" untuk setiap data yang dihadapinya. Ini adalah masalah besar karena yang benar-benar diinginkan oleh dokter adalah agar model dapat mengidentifikasi pasien yang menderita kondisi medis (sakit).
Contoh lain misalkan akan dibuat model machine learning untuk klasifikasi kucing (cats) dan anjing (Dogs) namun terdapat ketidakseimbangan dataset dimana kelas kucing memiliki dataset yang jauh lebih banyak dibandingkan dengan kelas anjing.
Gambar 1. Contoh Unbalanced Dataset (https://encord.com/blog/an-introduction-to-balanced-and-imbalanced-datasets-in-machine-learning/)
Beberapa cara untuk mengatasi hal ini adalah
- Collect more data
- Undersampling
- Oversampling
Collect more data: Mencari/melengkapi data yang kurang dengan data baru atau data sintetis dari generative AI.
Gambar 2. Collect more data (https://encord.com/blog/an-introduction-to-balanced-and-imbalanced-datasets-in-machine-learning/)
Undersampling: menghapus sampel dari kelas mayoritas sampai memiliki distribusi data yang setara. Undersampling memiliki beberapa keuntungan: ini relatif mudah diterapkan, dan dapat meningkatkan waktu proses model dan biaya komputasi karena mengurangi jumlah data pelatihan. Namun, undersampling harus dilakukan dengan hati-hati karena menghapus sampel dari dataset asli dapat mengakibatkan hilangnya informasi yang berguna. (dalam banyak kasus, cara ini tidak disarankan)
Gambar 3. Undersampling (https://encord.com/blog/an-introduction-to-balanced-and-imbalanced-datasets-in-machine-learning/)
Oversampling: meningkatkan jumlah sampel di kelas minoritas hingga komposisinya sama dengan kelas mayoritas. Hal ini dapat dilakukan dengan membuat salinan/copy sampel di kelas yang kurang terwakili sehingga model menghadapi jumlah sampel yang sama dari setiap kelas. Untuk mengurangi resiko overfitting dapat dibuat berbagai augmentasi seperti memutar gambar, mengubah kecerahan, memotong gambar, meningkatkan ketajaman atau kekaburan, dan lainnya untuk mensimulasikan dataset yang lebih beragam.
Gambar 4. Oversampling (https://encord.com/blog/an-introduction-to-balanced-and-imbalanced-datasets-in-machine-learning/)
Keywords: Imbalanced Data, Undersampling, Oversampling, Misleading Accuracy, Biased Learning
SDG: 9 “Industry, Innovation and Infrastructure”
Referensi:
- https://encord.com/blog/an-introduction-to-balanced-and-imbalanced-datasets-in-machine-learning/
- https://semaphoreci.com/blog/imbalanced-data-machine-learning-python
Comments :