Traffine I/O

Bahasa Indonesia

2023-01-20

Klasifikasi dengan Data yang Tidak Seimbang

Apa itu Data yang Tidak Seimbang

Data yang tidak seimbang merujuk pada situasi di mana kelas-kelas dalam masalah klasifikasi tidak diwakili secara seimbang. Misalnya, dalam masalah klasifikasi biner, jika terdapat dua kelas 'A' dan 'B', dan 'A' memiliki sampel yang jauh lebih banyak daripada 'B', dataset tersebut dianggap tidak seimbang.

Contoh data yang tidak seimbang dapat ditemukan dalam berbagai domain, seperti deteksi penipuan di perbankan, di mana transaksi penipuan jarang dibandingkan dengan transaksi yang sah; diagnosis medis, di mana kejadian penyakit tertentu jauh lebih rendah daripada ketiadaannya; dan deteksi spam dalam surel.

Tantangan utama dalam data yang tidak seimbang adalah banyak algoritma pembelajaran mesin cenderung condong ke arah kelas mayoritas, sehingga menghasilkan kinerja prediksi yang buruk untuk kelas minoritas.

Pendekatan Data untuk Mengatasi Data yang Tidak Seimbang

Ketika kita membicarakan pendekatan data dalam konteks dataset yang tidak seimbang, biasanya kita merujuk pada metode-metode yang melibatkan manipulasi dataset itu sendiri untuk mengurangi ketidakseimbangan antara kelas-kelas. Tujuannya adalah untuk mencapai distribusi kelas yang lebih seimbang, yang pada gilirannya dapat meningkatkan kinerja klasifier pada kelas minoritas.

Oversampling

Oversampling adalah teknik yang digunakan untuk mengatasi ketidakseimbangan kelas dengan meningkatkan jumlah instansi dari kelas minoritas dalam dataset. Terdapat berbagai cara untuk melakukan oversampling, termasuk hanya menduplikasi instansi dari kelas minoritas atau menghasilkan instansi sintetis.

Synthetic Minority Over-sampling Technique (SMOTE)

SMOTE adalah salah satu algoritma paling populer untuk oversampling. Tujuannya adalah menghasilkan sampel sintetis dengan cara yang lebih cerdas daripada sekadar menduplikasi instansi. Algoritma ini bekerja dengan memilih instansi yang dekat dalam ruang fitur, menggambar garis antara instansi-instansi tersebut dalam ruang fitur, dan menghasilkan instansi baru yang berada di sepanjang garis tersebut.

Secara khusus, untuk setiap instansi dalam kelas minoritas, SMOTE memilih k tetangga terdekat, memilih salah satunya secara acak, dan menciptakan instansi sintetis pada titik acak di antara kedua instansi tersebut.

Menggunakan SMOTE dapat menciptakan model yang lebih umum karena instansi sintetis merupakan jenis ekstrapolasi. Hal ini memaksa klasifier untuk membuat batasan keputusan yang lebih umum daripada overfitting pada data pelatihan.

Kelebihan dan Kekurangan Oversampling

Kelebihan

  • Dapat meningkatkan kinerja klasifier pada kelas minoritas.
  • Dengan menciptakan instansi sintetis, kekayaan informasi dipertahankan.
  • Umumnya lebih berguna dibandingkan dengan undersampling ketika datasetnya kecil.

Kekurangan

  • Oversampling, terutama dengan duplikasi, meningkatkan risiko overfitting karena dapat membuat model terlalu sensitif terhadap instansi tertentu.
  • Dapat menjadi mahal secara komputasi, terutama ketika datasetnya besar, karena ini meningkatkan ukuran data pelatihan.

Undersampling

Berbeda dengan oversampling, undersampling mengurangi jumlah instansi dalam kelas mayoritas. Ide di baliknya adalah mengurangi ukuran kelas mayoritas sehingga mendekatinya dengan ukuran kelas minoritas.

Undersampling bisa se-simple menghapus instansi secara acak dari kelas mayoritas hingga mencapai distribusi yang lebih seimbang. Namun, Anda perlu menggunakan pendekatan ini dengan hati-hati, karena penghapusan instansi dapat menyebabkan kehilangan informasi yang mungkin berharga bagi klasifier.

Kelebihan dan Kekurangan Undersampling

Kelebihan

  • Lebih hemat secara komputasi dibandingkan oversampling karena mengurangi ukuran dataset.
  • Dapat berguna dalam mengurangi kemungkinan overfitting, terutama dalam kasus di mana kelas mayoritas terwakili secara berlebihan.

Kekurangan

  • Kekurangan utama adalah kehilangan data yang berpotensi berguna.
  • Jika tidak dilakukan dengan hati-hati, dapat menyebabkan model menjadi underfit.

Pendekatan Algoritma untuk Mengatasi Data yang Tidak Seimbang

Berbeda dengan pendekatan data yang fokus pada manipulasi dataset itu sendiri, pendekatan algoritma memodifikasi algoritma atau model yang mendasarinya untuk membuatnya lebih peka terhadap kelas minoritas.

Bobot Kelas

Bobot kelas adalah set koefisien yang dapat digunakan selama fase pelatihan algoritma pembelajaran mesin. Dengan memberikan bobot yang berbeda pada kelas-kelas, kita dapat membuat model lebih peka terhadap kelas minoritas. Pada dasarnya, kita memberi tahu algoritma untuk "memperhatikan lebih banyak" kelas minoritas. Ini biasanya dilakukan dengan memberikan bobot yang lebih tinggi pada kelas minoritas dan bobot yang lebih rendah pada kelas mayoritas.

Misalnya, dalam masalah klasifikasi biner dengan dataset yang sangat tidak seimbang, kita mungkin memberikan bobot 10 pada kelas minoritas untuk setiap instansi dari kelas mayoritas.

Mengimplementasikan Bobot Kelas

Banyak pustaka dan kerangka kerja pembelajaran mesin seperti scikit-learn, TensorFlow, dan XGBoost memungkinkan pengguna untuk dengan mudah menetapkan bobot kelas selama pelatihan model. Ini sering dilakukan melalui parameter seperti class_weight yang dapat ditetapkan saat menginisialisasi model.

Kelebihan dan Kekurangan Penggunaan Bobot Kelas

Kelebihan

  • Mudah diimplementasikan, biasanya hanya pengaturan parameter dalam banyak pustaka pembelajaran mesin.
  • Tidak mengubah dataset itu sendiri, mempertahankan semua informasi.
  • Seringkali efektif dalam meningkatkan kinerja kelas minoritas.

Kekurangan

  • Dapat menghasilkan tingkat positif palsu yang lebih tinggi untuk kelas minoritas, karena model menjadi lebih sensitif terhadapnya.
  • Pemilihan bobot kelas dapat agak sewenang-wenang dan membutuhkan penyetelan.

Klasifikasi Satu Kelas

Klasifikasi Satu Kelas (OCC), juga dikenal sebagai deteksi kebaruan atau outlier, adalah pendekatan algoritma di mana model dilatih menggunakan data hanya dari kelas minoritas (atau kelas yang diminati). Tujuan dari klasifikasi satu kelas adalah untuk mengenali instansi yang termasuk ke dalam kelas tertentu (kelas minoritas) dan membedakannya dari instansi lainnya.

Mengimplementasikan Klasifikasi Satu Kelas

Algoritma populer untuk klasifikasi satu kelas termasuk One-Class SVM dan Isolation Forest. Algoritma-algoritma ini dirancang untuk mempelajari karakteristik kelas minoritas dan mampu mendeteksi instansi baru yang tidak sesuai dengan karakteristik yang dipelajari.

Kelebihan dan Kekurangan Klasifikasi Satu Kelas

Kelebihan

  • Efektif ketika kelas minoritas menjadi fokus utama.
  • Dapat menangani dataset yang sangat tidak seimbang di mana instansi kelas minoritas sangat langka.
  • Tahan terhadap perubahan dalam kelas mayoritas.

Kekurangan

  • Membutuhkan jumlah instansi kelas minoritas yang cukup untuk mempelajari karakteristiknya secara efektif.
  • Tidak cocok untuk kasus di mana biaya kesalahan klasifikasi untuk kedua kelas sebanding dan penting.

Pendekatan Hybrid

Pendekatan hybrid menggabungkan elemen dari kedua strategi, tingkat data dan algoritma. Pendekatan hybrid sering kali bertujuan untuk memanfaatkan keunggulan kedua metodologi tersebut.

Meskipun pendekatan data dan algoritma dapat efektif secara individual, dalam beberapa skenario, mungkin tidak cukup untuk mencapai kinerja yang diinginkan. Misalnya, oversampling dapat menyebabkan overfitting, sementara penyesuaian bobot kelas mungkin tidak cukup untuk mengatasi bias terhadap kelas mayoritas. Dengan menggabungkan pendekatan-pendekatan ini, kadang-kadang kita dapat mencapai model yang lebih tangguh yang berkinerja baik pada kelas mayoritas dan minoritas.

Strategi Hybrid Umum

SMOTE dengan Bobot Kelas

Salah satu pendekatan hybrid umum melibatkan penggunaan SMOTE bersama dengan bobot kelas. SMOTE membantu dengan menghasilkan sampel sintetis untuk kelas minoritas, sementara bobot kelas membuat algoritma lebih sensitif terhadap sampel sintetis tersebut. Kombinasi ini dapat meningkatkan fokus pada kelas minoritas tanpa hanya bergantung pada data sintetis.

Metode Ensemble dengan Pengambilan Sampel Data

Metode ensemble, seperti Random Forest dan Gradient Boosting, dapat dikombinasikan dengan teknik pengambilan sampel data. Misalnya, ensemble dari pohon keputusan di mana setiap pohon dilatih dengan subset data yang berbeda, dengan subset dibuat menggunakan kombinasi teknik oversampling dan undersampling, kadang dapat mencapai kinerja yang lebih baik.

Mengimplementasikan Pendekatan Hybrid

Untuk mengimplementasikan pendekatan hybrid, Anda perlu bereksperimen dengan berbagai kombinasi strategi data dan algoritma. Ini dapat melibatkan mengintegrasikan oversampling selama pra-pemrosesan data dan mengatur bobot kelas selama pelatihan model. Anda juga dapat memanfaatkan pustaka seperti imbalanced-learn (imblearn) yang menawarkan pipa-pipa yang mudah digunakan untuk menggabungkan berbagai teknik pengambilan sampel ulang.

Mengevaluasi Pendekatan Hybrid

Penting untuk mengevaluasi kinerja model yang dilatih menggunakan pendekatan hybrid dengan hati-hati. Karena beberapa teknik digabungkan, ada risiko overfitting atau memperkenalkan bias yang tidak diinginkan. Validasi silang dan strategi evaluasi yang ketat lainnya sangat penting.

Kelebihan dan Kekurangan Pendekatan Hybrid

Kelebihan

  • Dapat memanfaatkan keunggulan kedua pendekatan, baik data maupun algoritma.
  • Seringkali menghasilkan kinerja yang lebih seimbang di seluruh kelas.
  • Menyediakan berbagai kombinasi untuk percobaan.

Kekurangan

  • Dapat lebih mahal secara komputasi.
  • Kompleksitas model dapat meningkat, sehingga sulit untuk diinterpretasikan dan disesuaikan.
  • Risiko overfitting atau underfitting jika tidak divalidasi dan dituned dengan baik.

Referensi

https://neptune.ai/blog/how-to-deal-with-imbalanced-classification-and-regression-data
https://machinelearningmastery.com/one-class-classification-algorithms/

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!