Exécution de scikit-learn avec un grand volume

Nov 03 2020

J'ai besoin d'exécuter un processus Random Forest avec scikit-learn. Pour entraîner le modèle, j'ai une table de base de données avec 10 millions de lignes de fonctionnalités. La question est: quelle est la meilleure façon d'aborder cela, dois-je charger en mémoire les 10 millions de lignes, par exemple avec numpy ou pandas ou y a-t-il une meilleure façon de charger les données progressivement par morceaux?

Réponses

3 vienna_kaggling Nov 03 2020 at 16:26

Il existe de multiples possibilités, du crépuscule à d'autres modèles, etc.

Voici mes 2 coups de coeur, pour ne pas vous perdre dans le nombre de possibilités:

  1. www.h5py.org/ "Il vous permet de stocker d'énormes quantités de données numériques et de manipuler facilement ces données à partir de NumPy. Par exemple, vous pouvez découper des ensembles de données de plusieurs téraoctets stockés sur disque, comme s'il s'agissait de véritables tableaux NumPy. Des milliers de les ensembles de données peuvent être stockés dans un seul fichier, classés et étiquetés comme vous le souhaitez. "

  2. Essayez l'apprentissage en ligne avec les modèles Cousin de forêt aléatoire ( light-gbm ). Il a des capacités d'apprentissage en ligne.