samedi 15 mai 2021

(Vidéo) Programmation parallèle sous R

Cette vidéo présente la programmation parallèle sous R via l'utilisation des packages "parallel"  et "foreach / doparallel". Nous reprenons l'idée du calcul du minimum d'un vecteur (déjà vu dans les vidéos précédentes : Dask / Python, Mapreduce sous R), mais avec un algorithme dégradé, en temps quadratique, pour mieux percevoir l'intérêt de la parallélisation des tâches lorsque les calculs deviennent complexes. Dès que la volumétrie est un tant soit peu conséquente, une meilleure utilisation des ressources des processeurs multicœurs s'avère décisive. Nous observerons aussi que les solutions proposées ("parallel" vs. "foreach / doparallel") ne présentent pas le même niveau de performances.

Mots-clés : logiciel r, programmation parallèle, parallel, foreach, doparallel
Vidéo : Parallel Programming with R
Programme : Calcul du minimum
Références :
"Programmation parallèle sous R", juin 2013.

mercredi 12 mai 2021

(Vidéo) Programmation MapReduce sous R

Cette vidéo présente la programmation MapReduce sous R via l'utilisation des packages de RHadoop. Elle s'attache en particulier à détailler les installations nécessaires au bon fonctionnement de la librairie "rmr2". Cette dernière n'est plus opérante avec les versions récentes de R (depuis les versions 3.5 et plus récentes en réalité). La solution préconisée passe par un downgrade (rétrogradage) de la version de R sous-jacente à RStudio, puis l'installation des librairies contemporaines. Un exemple de calcul du minimum d'un vecteur permet de vérifier la viabilité du dispositif.

Mots-clés : logiciel r, programmation parallèle, mapreduce, rmr, rhadoop
Vidéo : MapReduce R
Guide et programme : Calcul du minimum
Références :
"RHadoop".
"Programmation MapReduce sous R - Diapos", juillet 2015.
"MapReduce avec R", février 2015.
"Programmation R sous Hadoop", avril 2015.

lundi 10 mai 2021

(Vidéo) Parallel Machine Learning avec Dask

Nous explorons les fonctionnalités machine learning de la librairie "dask" dans cette vidéo. Nous mettons en place un schéma classique d'analyse prédictive avec une régression logistique, similaire à ce que l'on réaliserait avec "scikit-learn", sauf que nous tirons parti de ce qui fait l'intérêt de "dask" : calculs différés permettant de définir et tester les opérations sans être bloqué par la manipulation de la totalité des données ; lecture en blocs du fichier de données, permettant de traiter des très grandes bases, y compris lorsque celles-ci ne tiennent pas en mémoire centrale ; parallélisation des traitements, tirant parti efficacement des spécificités de l'environnement numérique de travail.

Mots-clés : python, dask, dataframe, dask-ml, régression logistique
Vidéo : dask-ml
Données et programme : Dask Logistic Regression
Références :
"Dask: a flexible library for parallel computing in Python".
"Python – Machine Learning avec scikit-learn", septembre 2015.

vendredi 7 mai 2021

(Vidéo) Gestion des DataFrame avec Dask (Python)

Nous continuons l'exploration de la librairie "dask" pour Python dans cette vidéo. Nous traitons de la gestion des données. "dask" met à notre disposition un équivalent du DataFrame de Pandas, mais avec des capacités spécifiques pour le traitement des données massives : un chargement en blocs (chunks) des gros fichiers, l'accès à des systèmes de fichiers distribuées (HDFS de Hadoop par ex.), le traitement différé, la parallélisation des calculs. Avantage incommensurable par rapport à Pandas, le dispositif est fonctionnel même lorsque les données ne tiennent pas en mémoire centrale.

Mots-clés : python dask, dataframe, pandas
Vidéo : DataFrame avec Dask
Données et programme : CovType
Références :
"Dask: a flexible library for parallel computing in Python".
"R et Python, performances comparées", février 2019.

mardi 4 mai 2021

(Vidéo) Programmation parallèle avec Dask

Nous discutons de la programmation parallèle sous Python dans cette vidéo. Nous utilisons la librairie "dask". L'objectif est d'exploiter au mieux les capacités multicœurs du processeur de ma machine de test. Les exemples montrent que la parallélisation des tâches ne devient décisive que lorsque nous traitons un certain volume de données. En deçà, les gains issus de la parallélisation ne compensent pas le temps consommé par les opérations supplémentaires que nécessitent la préparation des données et l'organisation des structures de calculs.

Mots-clés : python, dask
Vidéo : Parallel programming with Dask
Programme : Min et Mean sous Python
Références :
"Dask: a flexible library for parallel computing in Python".
"Programmation MapReduce sous R", juillet 2015.
"Programmation parallèle sous R", juin 2013.