untuk mis. jika saya memiliki penilaian kredit variabel kelas dengan dua kelas baik dan buruk, di mana # (baik) = 700 dan # (buruk) = 300. Saya tidak ingin mempersingkat data saya. teknik mana yang harus saya gunakan? Saya menggunakan SVM tetapi memberikan semua prediksi buruk.
classification
binary-data
asad.taj
sumber
sumber
Jawaban:
Ukuran sampel kelas Anda sepertinya tidak seimbang karena Anda memiliki 30% pengamatan di kelas minoritas Anda. Regresi logistik harus berkinerja baik dalam kasus Anda. Bergantung pada jumlah prediktor yang memasuki model Anda, Anda dapat mempertimbangkan semacam hukuman untuk estimasi parameter, seperti ridge (L2) atau laso (L1). Untuk tinjauan umum masalah dengan kelas yang sangat tidak seimbang, lihat Cramer (1999), The Statistician, 48: 85-94 ( PDF ).
Saya tidak terbiasa dengan teknik penilaian kredit, tetapi saya menemukan beberapa makalah yang menyarankan agar Anda dapat menggunakan SVM dengan kelas-kelas berbobot, misalnya Support Vector Machines untuk Penilaian Kredit: Perpanjangan ke Kasus Non Standar . Sebagai alternatif, Anda dapat melihat metode peningkatan dengan CART, atau Random Forests (dalam kasus terakhir, dimungkinkan untuk mengadaptasi strategi pengambilan sampel sehingga masing-masing kelas diwakili saat membuat pohon klasifikasi). Makalah oleh Novak dan LaDue membahas pro dan kontra dari partisi GLM vs Rekursif . Saya juga menemukan artikel ini, konstruksi Scorecard dengan ukuran kelas yang tidak seimbang oleh Hand dan Vinciotti.
sumber
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.
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
sumber
Saya akan menyarankan menggunakan nilai yang berbeda dari parameter regularisasi C untuk contoh-contoh kelas positif dan contoh-contoh kelas negatif (banyak paket SVM mendukung ini, dan dalam hal apa pun itu mudah diimplementasikan). Kemudian gunakan misalnya validasi silang untuk menemukan nilai yang baik dari dua parameter regularisasi.
Dapat diperlihatkan bahwa ini secara ekuivalen secara ekuivalen, pengambilan sampel kembali data dalam suatu rasio yang ditentukan oleh C + dan C- (jadi tidak ada keuntungan dalam pengambilan sampel daripada penimbangan ulang, mereka sampai pada hal yang sama pada akhirnya dan bobot dapat kontinu, bukan terpisah, sehingga memberikan kontrol yang lebih baik).
Jangan hanya memilih C + dan C- untuk memberikan bobot 50-50 pada pola positif dan negatif, karena kekuatan efek dari masalah "kelas ketidakseimbangan" akan bervariasi dari dataset ke dataset, sehingga kekuatan dari hasil optimal -berat tidak dapat ditentukan a-priori.
Juga ingat bahwa biaya false-positive dan false-negative mungkin berbeda, dan masalahnya dapat teratasi dengan sendirinya jika ini termasuk dalam menentukan C + dan C-.
Perlu juga diingat, bahwa untuk beberapa masalah aturan keputusan optimal Bayes akan menetapkan semua pola ke satu kelas dan mengabaikan yang lain, jadi itu tidak selalu merupakan hal yang buruk - itu mungkin hanya berarti bahwa kepadatan pola satu kelas ada di mana-mana di bawah kepadatan pola kelas lainnya.
sumber