Berlebihan dengan variabel kategori


9

Saya ingin melakukan kombinasi oversampling dan undersampling untuk menyeimbangkan dataset saya dengan sekitar 4000 pelanggan dibagi menjadi dua kelompok, di mana salah satu grup memiliki proporsi sekitar 15%.

Saya telah melihat SMOTE ( http://www.inside-r.org/packages/cran/DMwR/docs/SMOTE ) dan ROSE ( http://cran.r-project.org/web/packages/ROSE/ ROSE.pdf ), tetapi keduanya membuat sampel sintetis baru menggunakan pengamatan yang ada dan misalnya kNN.

Namun, karena banyak atribut yang terkait dengan pelanggan adalah kategorikal, saya rasa ini bukan cara yang tepat. Sebagai contoh, banyak variabel saya seperti Region_A dan Region_B saling eksklusif, tetapi menggunakan kNN pengamatan baru dapat ditempatkan di Region_A dan Region_B. Apakah Anda setuju bahwa ini merupakan masalah?

Dalam hal itu - bagaimana seseorang melakukan oversampling di R dengan hanya menduplikasi pengamatan yang ada? Atau apakah ini cara yang salah untuk melakukannya?


Mengapa Anda perlu subsampling jika Anda hanya memiliki 4000 pengamatan?
kjetil b halvorsen

Saya ingin menyeimbangkan set data saya untuk memiliki bagian kelas yang kira-kira sama. Jika saya menggunakan data saya seperti sekarang model hanya akan memprediksi semua pengamatan sebagai kelas mayoritas.
pir

Jawaban:


8

ROSE dan SMOTE dirancang untuk menangani variabel kategorikal, jadi, kecuali variabel kategoris Anda dinyatakan dalam format biner, Anda biasanya tidak perlu khawatir tentang pengamatan sintetis yang ditugaskan bersama fitur kategorikal eksklusif. Jika ya, Anda selalu dapat merestrukturisasi mereka sebagai faktor.

Dalam contoh dua wilayah Anda, Anda akan membuat variabel wilayah baru dengan dua tingkat, "A" dan "B". Catatan Anda akan mengambil nilai yang sesuai dengan merujuk kolom asli Anda.

Sekarang, jika Anda berada dalam situasi di mana pengamatan sintetik baru Anda dapat menghasilkan kategori yang saling bertentangan karena mereka tersebar di beberapa variabel yang tidak berhubungan (mis. SyntheticObservation.isPig = 1 dan syntheticObservation.hasWings = 1), Anda selalu dapat melakukan beberapa data tambahan munging sebelum melakukan estimasi model Anda untuk membersihkan penyimpangan tersebut.

Juga, karena Anda memiliki sekitar 600 pengamatan peristiwa dalam dataset Anda, mungkin pertimbangkan manfaat potensial dari menggunakan pengamatan sintetik yang diperoleh melalui undersampling kelas mayoritas?

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.