Pendekatan yang populer untuk menyelesaikan masalah ketidakseimbangan kelas adalah dengan membiaskan pengklasifikasi sehingga lebih memperhatikan contoh positif. Ini dapat dilakukan, misalnya, dengan meningkatkan hukuman yang terkait dengan kesalahan klasifikasi kelas positif relatif terhadap kelas negatif. Pendekatan lain adalah preprocess data dengan oversampling kelas mayoritas atau undersampling kelas minoritas untuk membuat dataset yang seimbang.
CγCγ
Dalam fase preprocessing data, ingatlah bahwa SVM mengharuskan setiap instance data direpresentasikan sebagai vektor bilangan real. Oleh karena itu, jika ada atribut kategori, disarankan untuk mengubahnya menjadi data numerik, menggunakan angka m untuk mewakili atribut kategori m (atau menggantinya dengan variabel biner baru m).
Juga, penskalaan variabel sebelum menerapkan SVM sangat penting, untuk menghindari atribut dalam rentang numerik yang lebih besar mendominasi variabel dalam rentang numerik yang lebih kecil.
Lihatlah makalah ini .
Jika Anda bekerja di R, periksa fungsi tune (paket e1071) untuk menyetel hyperparameters menggunakan pencarian kotak pada rentang parameter yang disediakan. Kemudian, menggunakan plot.tune , Anda bisa melihat secara visual set nilai mana yang memberikan tingkat kesalahan lebih kecil.
Ada jalan pintas di sekitar pencarian parameter yang memakan waktu. Ada paket R yang disebut "svmpath" yang menghitung seluruh jalur regularisasi untuk classifier SVM 2-kelas sekaligus. Berikut ini tautan ke makalah yang menjelaskan apa yang dilakukannya.
PS Anda juga mungkin menemukan tulisan ini menarik: Memperoleh estimasi probabilitas yang dikalibrasi