randomForest memilih regresi daripada klasifikasi


12

Saya menggunakan paket randomForest dalam R dan menggunakan data iris, hutan acak yang dihasilkan adalah klasifikasi tetapi ketika saya menggunakan dataset dengan sekitar 700 fitur (fitur-fiturnya adalah masing-masing piksel dalam gambar 28x28 piksel) dan kolom label dinamai label, yang randomForestdihasilkan adalah regresi. Saya menggunakan baris berikut:

rf <- randomForest(label ~ ., data=train)

Kenapa regresi digunakan bukan klasifikasi? Data dibaca melalui read.csv().

Jawaban:


10

randomForest akan default ke klasifikasi atau regresi tergantung pada kelas variabel. Jadi, jika Anda mengetik

class(iris$Species)

Anda akan melihat bahwa itu adalah faktor. 'label' dalam kode Anda, kemungkinan besar adalah numerik, jadi default acak untuk regresi. Anda perlu mengonversinya menjadi faktor untuk klasifikasi. Anda dapat mengonversinya atau membacanya sebagai faktor dengan mengatur colClasses di read.table.


4

Paling sering ini karena Anda tidak memberi tahu R bahwa label adalah variabel kategori. The read.csvmencoba fungsi untuk menebak jenis apa yang akan digunakan untuk setiap kolom dan jika terlihat seperti kolom numerik maka itulah yang akan digunakan. Anda dapat memeriksa bagaimana R menyimpan variabel menggunakan strfungsi. Anda bisa memaksa read.csvuntuk membaca variabel sebagai faktor (atau numerik, atau ...) menggunakan colClassesargumen. Atau Anda dapat mengubah label menjadi faktor setelah membacanya menggunakan factorfungsi.

Jika ini bukan masalahnya, maka kami memerlukan informasi lebih lanjut tentang data Anda. Hasil dari menjalankan strpada frame data Anda mungkin akan berguna.

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.