Pracuję z niektórymi dużymi zestawami danych przy użyciu pakietu gbm w R. Zarówno moja macierz predykcyjna, jak i mój wektor odpowiedzi są dość rzadkie (tzn. Większość wpisów ma wartość zero). Miałem nadzieję zbudować drzewa decyzyjne przy użyciu algorytmu, który korzysta z tej rzadkości, jak to tutaj zrobiono ). W tym artykule, podobnie jak w mojej sytuacji, większość elementów ma tylko kilka z wielu możliwych funkcji, więc były w stanie uniknąć wielu zmarnowanych obliczeń, zakładając, że ich elementy nie miały danej cechy, chyba że dane wyraźnie mówią inaczej. Mam nadzieję, że mogę uzyskać podobne przyspieszenie, używając tego rodzaju algorytmu (a następnie owijając go algorytmem wzmacniającym, aby poprawić moją dokładność predykcyjną).
Ponieważ wydaje się, że nie opublikowali swojego kodu, zastanawiałem się, czy istnieją jakieś pakiety lub biblioteki typu open source (w dowolnym języku), które są zoptymalizowane do tego przypadku. Idealnie chciałbym coś, co mogłoby wziąć rzadką matrycę bezpośrednio z Matrix
paczki R , ale wezmę to, co mogę.
Rozejrzałem się i wydaje się, że tego rodzaju rzeczy powinny tam być:
Wydaje się, że chemicy często napotykają ten problem (artykuł, który zamieściłem powyżej, dotyczył uczenia się, jak znaleźć nowe związki leków), ale implementacje, które mogłem znaleźć, były zastrzeżone lub wysoce wyspecjalizowane w analizach chemicznych. Możliwe jednak, że jeden z nich mógłby zostać ponownie wykorzystany.
Klasyfikacja dokumentów wydaje się być także obszarem, w którym przydatne jest uczenie się z rzadkich przestrzeni obiektów (większość dokumentów nie zawiera większości słów). Na przykład w tym dokumencie znajduje się skośne odniesienie do rzadkiej implementacji C4.5 (algorytm podobny do CART) , ale nie ma kodu.
Zgodnie z listą dyskusyjną WEKA może akceptować nieliczne dane, ale w przeciwieństwie do metody w powyższym dokumencie, który podłączyłem, WEKA nie jest zoptymalizowana pod kątem faktycznego wykorzystania jej pod względem unikania marnowania cykli procesora.
Z góry dziękuję!
glmnet
i e1071::svm
wsparcia zarówno skąpe Matrix
obiektów. GAMboost
i GLMboost
(z paczki GAMboost
) może również.