Czy istnieje przypadkowa implementacja lasu R, która działa dobrze z bardzo rzadkimi danymi? Mam tysiące lub miliony boolowskich zmiennych wejściowych, ale tylko setki będą PRAWDĄ dla każdego podanego przykładu.
Jestem stosunkowo nowy w R i zauważyłem, że istnieje pakiet „Matrix” do radzenia sobie z rzadkimi danymi, ale wydaje się, że standardowy pakiet „randomForest” nie rozpoznaje tego typu danych. Jeśli ma to znaczenie, dane wejściowe zostaną wygenerowane poza R i zaimportowane.
Jakakolwiek rada? Mogę również zajrzeć do korzystania z Weka, Mahout lub innych pakietów.
r
random-forest
sparse
Eryn
źródło
źródło
Odpowiedzi:
Nie, nie ma implementacji RF dla rzadkich danych w R. Częściowo dlatego, że RF nie pasuje zbyt dobrze do tego rodzaju problemu - tworzenie worków i suboptymalny wybór podziałów może zmarnować większość wglądu modelu w obszary zerowe.
Wypróbuj jakąś metodę jądra lub lepiej zastanów się nad konwersją danych na bardziej bujną reprezentację za pomocą niektórych deskryptorów (lub użyj metody redukcji wymiarów).
źródło
Właściwie tak jest .
Jest
xgboost
stworzony do zwiększania gradientu eXtreme. Jest to obecnie pakiet z wyboru do uruchamiania modeli z rzadkimi macierzami w R dla wielu ludzi, a jak wyjaśnia powyższy link, możesz go użyć w Losowym lesie, dostosowując parametry !źródło
Powinien wystarczyć pakiet R „Ranger”.
https://cran.r-project.org/web/packages/ranger/ranger.pdf
W porównaniu z randomForest, ten pakiet jest prawdopodobnie najszybszą implementacją RF, jaką widziałem. Traktuje zmienne jakościowe w natywny sposób.
źródło
Istnieje blog o nazwie Quick-R, który powinien pomóc ci w nauce podstaw języka R.
R działa z pakietami. Każda paczka może zrobić coś innego. Istnieją pakiety o nazwie „randomForests”, które powinny być dokładnie tym, o co prosisz.
Należy pamiętać, że rzadkie dane będą powodować problemy bez względu na zastosowaną metodę. Według mojej wiedzy jest to bardzo otwarty problem, a eksploracja danych ogólnie jest bardziej sztuką niż nauką. Losowe lasy mają się ogólnie bardzo dobrze, ale nie zawsze są najlepszą metodą. Możesz wypróbować sieć neuronową z wieloma warstwami, które mogą pomóc.
źródło