Pracuję nad bazą danych z około 250000 obserwacji i 50 predyktorów (niektóre są czynniki tak na koniec około 100 funkcji) i mam problem z wykorzystaniem funkcji blackboost() (od mboost pakiet), które dają mi błąd przydziału pamięci.Różnica w zużyciu pamięci między gbm i blackboost
W tym samym czasie gbm() nie ma problemu z ilością danych. Zgodnie z dokumentacją algorytm używany przez blackboost jest taki sam jak gbm. ("http://cran.r-project.org/web/packages/mboost/mboost.pdf").
Nie jest jasne, dlaczego jedna funkcja jest zdolny do zarządzania bazą danych, a nie drugi, moje domysły:
- GBM posiada strategię subsampling (ustawioną przez „bag.fraction” argumentu), który nie robi” Wydaje się, że są implementowane w trybie blackboost i wpływają na wykorzystanie pamięci.
- GBM korzystać z funkcji koszyka do budowania drzew i blackboost użytkowania Ctree która wydaje się mieć ogromne zużycie pamięci (How to remove training data from party:::ctree models?)
chcę użyć funkcji straty AUC() dostępny w mboost ale nie w GBM , więc byłbym zainteresowany wszelkimi sugestiami, aby przezwyciężyć ograniczenia wykorzystania pamięci blackboost.
Inną dodatkową pytanie, kiedy starają się zmniejszyć liczbę zmiennych w moim modelu, mam ten nowy błąd z blackboost:
Error in matrix(f[ind1], nrow = n0, ncol = n1, byrow = TRUE) : the length of the data [107324] is not a multiple of the number of lines [152107]
Wydaje się pochodzić z funkcji gradientu AUC.
Dziękuję za pomoc.