Scikit-Learn mit großem Volumen ausführen

Nov 03 2020

Ich muss einen Random Forest-Prozess mit ausführen scikit-learn. Um das Modell zu trainieren, habe ich eine Datenbanktabelle mit 10 Millionen Funktionszeilen. Die Frage ist: Wie gehe ich am besten vor, sollte ich die 10 Millionen Zeilen in den Speicher laden, zum Beispiel mit Numpy oder Pandas, oder gibt es eine bessere Möglichkeit, die Daten schrittweise nach Chunks zu laden?

Antworten

3 vienna_kaggling Nov 03 2020 at 16:26

Es gibt mehrere Möglichkeiten von der Dämmerung bis zu anderen Modellen usw.

Hier sind meine 2 Favoriten, um Sie nicht in der Anzahl der Möglichkeiten zu verlieren:

  1. www.h5py.org/ "Damit können Sie große Mengen numerischer Daten speichern und diese Daten einfach von NumPy aus bearbeiten. Sie können beispielsweise in Multi-Terabyte-Datensätze schneiden, die auf der Festplatte gespeichert sind, als wären sie echte NumPy-Arrays. Tausende von Datensätze können in einer einzigen Datei gespeichert, kategorisiert und mit Tags versehen werden, wie Sie möchten. "

  2. Versuchen Sie Online-Lernen mit Cousin-Modellen von Random Forest ( Light-Gbm ). Er hat Online-Lernfähigkeiten.