Oceniając „ Zastosowane modelowanie predykcyjne ” recenzent stwierdza :
Jedną z moich krytyk pedagogiki uczenia statystycznego (SL) jest brak uwzględnienia wydajności obliczeń w ocenie różnych technik modelowania. Z naciskiem na ładowanie i weryfikację krzyżową w celu dostrojenia / przetestowania modeli, SL wymaga dużej mocy obliczeniowej. Dodaj do tego ponowne próbkowanie, które jest osadzone w technikach takich jak tworzenie worków i boosting, a masz widmo piekła obliczeniowego do nadzorowanego uczenia się dużych zbiorów danych. W rzeczywistości ograniczenia pamięci R nakładają dość surowe ograniczenia na wielkość modeli, które można dopasować przy użyciu najbardziej skutecznych metod, takich jak losowe lasy. Chociaż SL dobrze wykonuje kalibrację wydajności modelu w stosunku do małych zestawów danych, dobrze byłoby zrozumieć wydajność w porównaniu z kosztem obliczeniowym większych danych.
Jakie są ograniczenia pamięci R. i czy nakładają poważne ograniczenia na wielkość modeli, które można dopasować przy użyciu najbardziej skutecznych metod, takich jak losowe lasy ?
źródło
Odpowiedzi:
Jak wskazał Konstantin, R wykonuje wszystkie obliczenia w pamięci systemu, tj. W pamięci RAM. Dlatego pojemność pamięci RAM jest bardzo ważnym ograniczeniem dla operacji intensywnie obliczeniowych w R. Po przezwyciężeniu tego ograniczenia dane są obecnie przechowywane w systemach HDFS, w których dane nie są ładowane do pamięci, a program jest zamiast tego uruchamiany, program przechodzi do danych i wykonuje operacje, pokonując w ten sposób ograniczenia pamięci. RHadoop ( https://github.com/RevolutionAnalytics/RHadoop/wiki ) to złącze, którego szukasz.
Jeśli chodzi o wpływ na algorytmy wymagające intensywnych obliczeń, losowe lasy / drzewa decyzyjne / zespoły na znacznej ilości danych (z mojego doświadczenia co najmniej 50 000 obserwacji) zajmują dużo pamięci i są znacznie powolne. Aby przyspieszyć ten proces, paralelizacja jest właściwą drogą, a paralelizacja jest z natury dostępna w Hadoop! Właśnie tam Hadoop jest naprawdę wydajny.
Jeśli więc wybierasz metody zespolone, które są intensywne obliczeniowo i są powolne, warto wypróbować system HDFS, który zapewnia znaczną poprawę wydajności.
źródło
R wykonuje wszystkie obliczenia w pamięci, więc nie można wykonać operacji na zestawie danych większym niż dostępna ilość pamięci RAM. Istnieją jednak biblioteki umożliwiające przetwarzanie bigdata przy użyciu R i jedną z popularnych bibliotek do przetwarzania bigdata, takich jak Hadoop.
źródło
Ta krytyka nie jest już uzasadniona:
Chociaż prawdą jest, że większość standardowych i najbardziej szanowanych bibliotek R była ograniczona do obliczeń w pamięci, rośnie liczba wyspecjalizowanych bibliotek zajmujących się danymi, które nie mieszczą się w pamięci.
Na przykład dla losowych lasów na dużych zestawach danych masz bibliotekę
bigrf
. Więcej informacji tutaj: http://cran.r-project.org/web/packages/bigrf/Kolejnym obszarem wzrostu jest połączenie R ze środowiskami dużych zbiorów danych, takimi jak hadoop, co otwiera kolejny świat możliwości.
źródło