Article
26 novembre 2020

Approfondissez vos analyses de données grâce aux notebooks python

Comment explorer facilement vos données ?

Si vous cherchez un outil pour charger, manipuler et explorer vos données, il y a de fortes chances que vous ayez déjà entendu parlé des Notebook, que vous soyez un scientifique, un ingénieur en données ou un expert dans votre domaine avec des compétences de base en codage.

Notebook est un environnement web open-source qui vous permet d’écrire et d’exécuter du code dans plusieurs langages (python, julia, r…), d’afficher des résultats sous forme de visualisations interactives et d’écrire des explications en utilisant la syntaxe Markdown. Un notebook peut être facilement exporté en pdf ou html et envoyé aux collaborateurs par courrier électronique, mais un serveur de notebook dédié est également disponible, ce qui rend la collaboration plus simple puisque plusieurs utilisateurs peuvent travailler sur le même notebook partagé.

L’adoption de cet outil est en constante augmentation depuis quelques années : les universités font maintenant souvent utiliser cet outil à leurs étudiants dans les cours d’informatique et il est devenu une fonctionnalité de base de nombreuses plateformes informatiques. De nombreux ingénieurs commencent à utiliser cet outil en l’installant localement sur leur ordinateur portable, voient son potentiel et voudraient le voir plus largement utilisé dans leur organisation.

En attendant, notre plateforme est historiquement adaptée si vous voulez modéliser un problème en fonction de règles de traitement d’événements complexes,  si vous avez besoin de rechercher un moment précis dans vos données ou encore si vous voulez explorer vos données à travers un tableau de bord. Il en va de même lorsqu’il s’agit de construire un modèle de flotte, en faisant appel à du Machine Learning ou en traitant un grand ensemble de données in-memory.

Un serveur Notebook accessible à tous

Sur la base de ces observations, InUse propose désormais dans sa dernière version, un serveur Notebook hébergé pour tous les utilisateurs qui ont accès au Studio (i.e : https://studio.{yourcode}.productinuse.com). Il est accessible à partir du menu de gauche dans la section “Explore”.

Comment cela fonctionne ?

Le serveur Notebook est comme une machine virtuelle sur laquelle vous pourrez télécharger des fichiers ou démarrer un Notebook en python comme dans l’image animée ci-dessous.

Tous les fichiers seront accessibles à n’importe quel autre membre de votre instance qui a un accès au Studio, ce qui peut être très pratique si vous souhaitez partager des données avec des collègues. Le notebook que vous créerez sera également automatiquement accessible à d’autres personnes. Cela signifie qu’ils peuvent lire mais aussi exécuter le code écrit à l’intérieur, ce qui vous permet de travailler en collaboration sur la même analyse de données.

Exploiter facilement la stack python

Parmi les langages existants, le Notebook supporte python ainsi que toutes les bibliothèques de data science qui l’accompagnent. Un Notebook python est une option très pratique si vous devez  :

  • Nettoyer vos données
  • Faire une exploration de données avancée
  • Construire et expliquer un modèle prédictif : statistique, machine learningdeep learning

Par défaut, un environnement python 3.8 est installé avec les bibliothèques suivantes : ipywidgets, pandas, matplotlib, numpy, scipy, sklearn, scipy, seaborn et statsmodels. Cette configuration devrait être un bon point de départ pour la plupart de vos analyses. D’autres bibliothèques pourront facilement être ajoutées à l’avenir si nécessaire.

Entièrement intégré dans notre solution

Cette fonctionnalité est entièrement intégrée dans notre solution, c’est pourquoi nous avons ajouté notre propre bibliothèque client python pour interagir avec notre API. Cela vous aidera à:

  • Récupérer vos données acquises.
  • Automatiser l’administration des organisations et des actifs.
  • Prototyper de modèles que vous pourrez facilement réintégrer dans votre moteur par la suite.

Est-ce sécurisé ?

Nous sommes très attentifs à la sécurité de nos produits, d’autant plus pour cette fonctionnalité car le serveur Notebook agit comme une machine virtuelle sur laquelle vous aurez de nombreuses autorisations. Vous pourrez télécharger, visualiser et modifier n’importe quel fichier sur la machine virtuelle, mais la machine sera dans un réseau virtuel isolé avec un accès très limité aux autres parties de notre infrastructure.

Nous n’exposons qu’un accès en lecture seule à l’instance ElasticSearch qui stocke les données de séries temporelles. Vous trouverez ci-dessous un exemple de requête authentifiée à ElasticSearch et d’extraction des données directement dans votre instance.

Cela semble intéressant mais je ne sais pas par où commencer…

Il existe de nombreuses ressources en ligne pour s’initier aux Notebook : datacamp, openclassrooms, towardsdatascience. En plus de cela, nous avons ajouté nos propres exemples qui vont du simple chargement de fichiers csv à la modélisation de données complexes appliquée à des cas d’utilisation industriels. Ces exemples sont disponibles dans le répertoire examples situé à la racine de votre serveur.

Quelques exemples d’utilisation

Charger un fichier csv

Le premier exemple consiste à charger un fichier csv et à visualiser quelques données. Les illustrations ci-dessous montrent que cela peut être facilement réalisé en utilisant les bibliothèques pandas & matplotlib.

Récupérez des données directement depuis vos modèles

L’utilisation de la sandbox n’est pas adaptée à tous les cas d’utilisation, en particulier lorsqu’il s’agit de tester un modèle sur un ensemble de données de plus de 50 000 lignes (qui est la limite actuelle de la sandbox). C’est pourquoi nous exposons notre propre bibliothèque client python qui fournit des méthodes pour récupérer en toute sécurité les données de notre cluster ElasticSearch.

Utiliser les outils d’exploration

Le Notebook est également fourni avec la bibliothèque altair_widgets qui peut être utilisée pour faire facilement des explorations de données avec du point & click  sur du DataFrame comme l’illustre le gif animé ci-dessous.

Et maintenant ?

Pour résumer, le Notebook est très susceptible de vous être utile au moins à deux moments clés :

  • Au début de votre analyse de données : lorsque vous commencerez à explorer un ensemble de données nouvellement acquises (que ce soit à partir de notre système d’acquisition ou d’un autre).
  • Pour améliorer des modèles déjà construits : une fois que vous aurez mis en place vos premiers modèles en faisant appel à notre moteur de traitement d’événements complexes et vos connaissances préalables, vous voudrez peut-être améliorer sa précision.

 

Chez InUse, nous pensons qu’un projet IoT mis en œuvre avec succès nécessite plusieurs outils au cours des différentes étapes du projet et notre mission est de vous fournir une solution IoT totalement intégrée qui transforme les données brutes en applications business qui contribueront à l’efficacité de vos équipes. Les Notebook font partie de ces outils et nous serons heureux de vous aider à les utiliser dans vos projets.

Guillaume Thomas
Directeur R&D, InUse