Les 3 Minutes Analytics KNIME : comment utiliser les boucles dans KNIME ?

KN007 - Les boucles dans KNIME

Nouvel article, nouveau tuto dans notre série Les 3 Minutes Analytics KNIME ! Intéressons-nous aujourd’hui à l’utilisation des boucles dans KNIME avec un nouveau tutoriel à suivre étape par étape.

Rappel du parcours 1 :  suivez ce parcours composé de 10 articles pour savoir comment classer les produits les plus vendus via une société que nous avons appelé SportUp. 

La boucle est un concept important dans le développement informatique en général. Dans la programmation, quand certains traitements doivent être répétés plusieurs fois, on va créer les boucles.

KNIME nous permet de faire les boucles au sein d’un workflow et il nous propose un certain nombre d’options de boucle: un nombre fini de fois, sur une liste de valeurs, sur une liste de groupes, sur des colonnes, jusqu’à ce qu’une condition soit satisfaite, et plus encore. A quoi sert une boucle ? La lecture d’un certain nombre de fichiers distincts identiques, la répétition des mêmes ensembles de données avec des valeurs différentes, l’exécution de certaines actions sur différents groupes de données,…

Dans cet article, je vous présente quelques notions importantes de la boucle, la structure d’une boucle dans KNIME, quelques types de boucles possibles de créer dans le Workflow et comment faire une boucle simple dans KNIME.

🎞 Mydral vous propose également de suivre en vidéo (ou plutôt deux) ce tutoriel KNIME :

  • Le concept des boucles

 

  • La structure des boucles

 

Qu’est-ce qu’une boucle ?

 

Créer une boucle est le fait de répéter une chaîne d’action plusieurs fois.

 

La structure d’une boucle dans KNIME

 

Une boucle dans KNIME débute avec une Loop Start Node et finit avec une Loop End node. Entre ces deux nodes, il y a le corps de la boucle – une chaîne de nodes qui précise étape par étape le travail qu’on veut répéter.

Les différents types de boucles

 

Généralement, on peut séparer les boucles du Workflow control tout d’abord en 2 types selon la demande des conditions d’arrêt:

  • Les boucles Do – While demande à exécuter la chaîne d’action tant que la condition est vérifiée.

  • Les boucles For qui indiquent pour x fois, exécuter la chaîne d’action, et on va assigner le nombre de fois avec les nodes start loop.

Les boucles Do-While sont créées avec le node Generic Loop Start et Variable Condition Loop End. On va assigner la condition de finir la boucle dans la node Loop End.

Pour les boucles For, KNIME nous permet de créer plusieurs types de boucles selon l’objectif et les types de données renseignées comme l’entrée, la plupart finit avec un Loop End normal.

  • Les boucles For ayant une variable comme l’entrée avec le node Table Row To Variable Loop Start, l’entrée peut être une liste des colonnes avec Column List Loop Start aussi.

  • Les boucles For à pas régulier avec Counting Loop Start et Interval Loop Start – il est équivaut à for i in range (start, stop, step) dans d’autres langages de programmation

  • Les boucles For en combinaison avec GroupBy comme Chunk Loop Start et Group Loop Start

  • Les boucles For avec Recursive Loop Start et Recursive Loop End.

Les boucles dans KNIME nous donnent l’option de collecter les données “cachées” dans le processus d’itération comme les variables de CurrentIteration, MaxIteration. Ou collecter les résultats non modifiés et modifiés (les nodes de 2 ports),….

Ci dessous, vous trouverez quelques exemples de boucles :

Il existe d’autres types de boucles créées par KNIME pour les objectifs spécifiques de data mining et de data science.

Comment faire une boucle dans KNIME

 

Ici, je vais vous guider étape par étape pour créer une boucle pour lire tous les onglets de la même structure dans un fichier Excel.

 

Dans cet exemple, j’ai un fichier Excel avec plusieurs onglets, chaque onglet correspond à la liste des commandes de chaque année de 2013 à 2016. Je vais utiliser un node Read Excel Sheet Names (XLS) pour lire les noms de tous les onglets. Je configure ce node avec le chemin:

 

  

Le résultat attendu de ce node est une liste avec l’en-tête “Sheet” et les valeurs ci-dessous, qui est considéré comme le variable “Sheet” à utiliser prochainement.

 

J’insère ensuite une node de type Loop Start, il s’agit du Table Row To Variable Loop Start, qui me permet d’initier un itérateur, vous pouvez laisser les options par défaut :

 

Ensuite, je vais enchaîner avec un node Excel Reader (XLS) qui va lire le contenu d’un onglet du fichier.

Dans la boîte de dialogue de configuration de ce node, je configure le chemin vers le fichier Excel dans l’onglet et laisse KNIME choisit le premier onglet avec les données. Ce que je vais changer dans la configuration c’est le deuxième onglet : Flow Variables, je choisis Sheet dans la liste descendante.

Ce dernier va permettre à l’itérateur de la boucle de parcourir à travers toutes les valeurs du variable Sheet, donc tous les onglets du fichier Excel.

Boucles dans KNIME

 

Et pour terminer, j’utilise le node Loop End, avec les configurations par défaut. Ci dessous le workflow attendu comme résultat :

 

 

Pour lancer la boucle dans KNIME, j’exécute le node Loop End. Le résultat final est une table de données avec tous les commandes de tous les années de 2013 à 2016.

Ce tutoriel sur les boucles s’achève ici. Vous pouvez maintenant créer les boucles avec les nodes correspondant à votre objectif !

Merci d’avoir suivi ce tutoriel, j’espère qu’il vous a été utile.

Retrouvez l’ensemble des articles de notre série Les 3 Minutes Analytics consacrée à KNIME. Enjoy !

Suivez-nous sur les réseaux sociaux : LinkedIn & Twitter !

Laissez un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.