Apakah ada implementasi Random Forest yang bekerja dengan baik dengan data yang sangat jarang?

23

Apakah ada implementasi hutan acak R yang bekerja dengan baik dengan data yang sangat jarang? Saya memiliki ribuan atau jutaan variabel input boolean, tetapi hanya ratusan atau lebih akan BENAR untuk setiap contoh yang diberikan.

Saya relatif baru untuk R dan memperhatikan bahwa ada paket 'Matrix' untuk menangani data yang jarang, tetapi paket 'randomForest' standar tampaknya tidak mengenali tipe data ini. Jika itu penting, data input akan diproduksi di luar R dan diimpor.

Ada saran? Saya juga dapat melihat menggunakan Weka, Mahout atau paket lainnya.

Eryn
sumber
Sejauh yang saya tahu, tidak ada paket R untuk pohon keputusan yang jarang. Saya percaya ada algoritma di luar sana untuk pohon keputusan yang jarang, yang, jika diterapkan dalam R, dapat digunakan untuk membangun hutan acak.
Zach
2
Inilah kandidat yang bagus: cs.cornell.edu/~nk/fest . Jika Anda dapat mengekspor data Anda dalam format libsvm, Anda dapat menggunakan program baris perintah ini. Ingin melihat port R ...
Zach
Zach - tautannya tampaknya sudah mati.
Benoit_Plante
2
@ cmoibenlepro tautannya adalah lowrank.net/nikos/fest
seanv507
Tautan bekerja dengan baik untuk saya
David Marx

Jawaban:

13

Tidak, tidak ada implementasi RF untuk data jarang di R. Sebagian karena RF tidak cocok dengan baik pada jenis masalah ini - pemilihan bagging dan pemilihan suboptimal mungkin membuang-buang sebagian besar wawasan model pada area hanya nol.

Cobalah beberapa metode kernel atau lebih baik pikirkan untuk mengubah data Anda menjadi representasi yang lebih subur dengan beberapa deskriptor (atau gunakan beberapa metode pengurangan dimensionalitas).

pengguna88
sumber
Jawaban Hack-R menunjukkan paket xgboost, yang dapat melakukan hutan secara acak dengan matriks yang jarang.
Edgar
7

Sebenarnya ya ada .

Itu xgboost, yang dibuat untuk meningkatkan gradien eXtreme. Ini saat ini paket pilihan untuk menjalankan model dengan matriks jarang di R untuk banyak orang, dan seperti tautan di atas menjelaskan, Anda dapat menggunakannya untuk Hutan Acak dengan mengutak-atik parameter !

Hack-R
sumber
4

Paket R "Ranger" harus dilakukan.

https://cran.r-project.org/web/packages/ranger/ranger.pdf

Implementasi Acak Hutan yang cepat, khususnya cocok untuk data dimensi tinggi.

Dibandingkan dengan randomForest, paket ini mungkin merupakan implementasi RF tercepat yang pernah saya lihat. Ini memperlakukan variabel kategori dengan cara asli.

amitos
sumber
-4

Ada sebuah blog bernama Quick-R yang akan membantu Anda dengan dasar-dasar R.

R bekerja dengan paket. Setiap paket dapat melakukan sesuatu yang berbeda. Ada paket yang disebut "randomForest" yang seharusnya hanya apa yang Anda minta.

Ketahuilah bahwa data yang jarang akan menimbulkan masalah, apa pun metode yang Anda terapkan. Setahu saya ini adalah masalah yang sangat terbuka dan data mining pada umumnya lebih merupakan seni daripada sains. Hutan acak secara keseluruhan sangat baik tetapi tidak selalu merupakan metode terbaik. Anda mungkin ingin mencoba jaringan saraf dengan banyak lapisan, yang mungkin bisa membantu.

Vincent
sumber
4
Tidak, randomForest terkenal buruk dengan data yang jarang, karenanya seluruh pertanyaan. Parameter classwt tidak diterapkan dengan benar di seluruh randomForest. Oversampling manual adalah salah satu pendekatan, tetapi itu mengacaukan kesalahan OOB. Ngomong-ngomong, paket itu tidak disebut 'randomForest'.
smci
1
Bagian dari ini yang benar bukanlah jawaban untuk pertanyaan itu.
Sycorax berkata Reinstate Monica