Was sind Rs Speicherbeschränkungen?

9

Bei der Überprüfung von " Applied Predictive Modeling " stellt ein Prüfer fest :

Eine Kritik, die ich an der Pädagogik des statistischen Lernens (SL) habe, ist das Fehlen von Überlegungen zur Rechenleistung bei der Bewertung verschiedener Modellierungstechniken. Mit seinen Schwerpunkten auf Bootstrapping und Kreuzvalidierung zum Tunen / Testen von Modellen ist SL ziemlich rechenintensiv. Hinzu kommt die Neuabtastung, die in Techniken wie Absacken und Boosten eingebettet ist, und Sie haben das Gespenst der Rechenhölle für das überwachte Lernen großer Datenmengen. Tatsächlich schränken die Speicherbeschränkungen von R die Größe von Modellen ziemlich stark ein, die mit leistungsstärksten Methoden wie zufälligen Gesamtstrukturen angepasst werden können. Obwohl SL die Modellleistung anhand kleiner Datenmengen gut kalibriert, wäre es sicher hilfreich, die Leistung im Vergleich zu den Rechenkosten für größere Daten zu verstehen.

Was sind die Speicherbeschränkungen von R und schränken sie die Größe von Modellen stark ein, die mit leistungsstärksten Methoden wie zufälligen Gesamtstrukturen angepasst werden können ?

Fehler
quelle
Siehe auch Ist R Sprache für Big Data .
Amir Ali Akbari

Antworten:

9

Wie Konstantin gezeigt hat, führt R alle Berechnungen im Speicher des Systems durch, dh im RAM. Daher ist die RAM-Kapazität eine sehr wichtige Einschränkung für rechenintensive Operationen in R. Um diese Einschränkung zu überwinden, werden Daten heutzutage in HDFS-Systemen gespeichert, in denen Daten nicht in den Speicher geladen werden und stattdessen das Programm ausgeführt wird, das Programm zu den Daten geht und führt die Operationen aus und überwindet so die Speicherbeschränkungen. RHadoop ( https://github.com/RevolutionAnalytics/RHadoop/wiki ) ist der Konnektor, den Sie suchen.

In Bezug auf die Auswirkungen auf rechenintensive Algorithmen beanspruchen Random Forests / Decision Trees / Ensemble-Methoden für eine beträchtliche Datenmenge (nach meiner Erfahrung mindestens 50.000 Beobachtungen) viel Speicher und sind erheblich langsam. Um den Prozess zu beschleunigen, ist Parallelisierung der richtige Weg, und Parallelisierung ist in Hadoop von Natur aus verfügbar! Dort ist Hadoop wirklich effizient.

Wenn Sie sich also für Ensemble-Methoden entscheiden, die rechenintensiv und langsam sind, sollten Sie das HDFS-System ausprobieren, das eine erhebliche Leistungsverbesserung bietet.

Binga
quelle
1
+1 Vielen Dank, dass Sie sich die Zeit genommen haben, die vorhandene Antwort zu verbessern. Meiner Meinung nach ist Ihre Antwort jetzt die bessere Antwort. Ich habe Ihre Antwort als Antwort ausgewählt. Prost!
Fehler
Freut mich zu antworten!
Binga
7

R führt alle Berechnungen im Arbeitsspeicher durch, sodass Sie keine Operation für einen Datensatz ausführen können, der größer als die verfügbare RAM-Größe ist. Es gibt jedoch einige Bibliotheken, die die Verarbeitung von BigData mit R ermöglichen, und eine der beliebtesten Bibliotheken für die Verarbeitung von BigData wie Hadoop.

Konstantin V. Salikhov
quelle
2

Diese Kritik ist nicht mehr gerechtfertigt:

Zwar waren die meisten Standard- und angesehenen R-Bibliotheken auf In-Memory-Berechnungen beschränkt, doch gibt es eine wachsende Anzahl spezialisierter Bibliotheken, die sich mit Daten befassen, die nicht in den Speicher passen.
Für zufällige Gesamtstrukturen in großen Datenmengen verfügen Sie beispielsweise über die Bibliothek bigrf. Weitere Informationen hier: http://cran.r-project.org/web/packages/bigrf/

Ein weiterer Wachstumsbereich ist die Verbundenheit von R mit Big-Data-Umgebungen wie Hadoop, die eine weitere Welt der Möglichkeiten eröffnet.

nassimhddd
quelle