Saya memiliki satu set pelatihan dengan sekitar 3000 contoh positif dan 3000 contoh negatif. Tetapi kumpulan data pengujian saya sangat tidak seimbang. Set positif hanya memiliki 50 instance dan negatif memiliki 1500 instance. Hal ini menyebabkan presisi sangat rendah. Apakah ada pendekatan untuk menyelesaikan masalah ini? Saya menggunakan SVM untuk membangun classifier.
machine-learning
classification
data-mining
svm
pengguna785099
sumber
sumber
Jawaban:
Ini disebut pengaturan Dataset Shift. PDF ini [1] akan membantu Anda memahami beberapa masalah mendasar yang terlibat.
Namun untuk saat ini, Anda dapat menggunakan kuadrat kepentingan terkecil untuk mendapatkan perkiraan penting untuk data pelatihan Anda menggunakan set tes Anda (Anda tidak perlu label set tes, hanya vektor fitur) [2]. Setelah Anda mendapatkan estimasi penting, Anda dapat menggunakannya sebagai bobot contoh di libSVM [3].
Itu akan memungkinkan Anda untuk mendapatkan classifier yang lebih baik.
[1] http://www.acad.bg/ebook/ml/The.MIT.Press.Dataset.Shift.in.Machine.Learning.Feb.2009.eBook-DDU.pdf
[2] http: // www .ms.ku-tokyo.ac.jp / software.html # uLSIF
[3] http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/#weights_for_data_instances
sumber
Apakah Anda pikir `dunia nyata 'lebih mirip dengan set latihan atau set tes? Jika lebih mirip dengan set pelatihan, Anda dapat secara acak sampel 50 contoh dari set tes negatif Anda untuk mendapatkan perkiraan presisi yang lebih adil. Tapi saya setuju dengan Peter Flom: Secara umum, set tes dan kereta Anda harus sama.
sumber