Une interface visuelle pour des frameworks de machine learning

Proposition de stage ou de mémoire

Une interface visuelle pour des frameworks de machine learning

Proposition de stage ou de mémoire

Profil Etudiant niveau fin de bac ou master.
Prérequis Expérience dans un framework de développement Web, de préférence Django ou Play. Connaissances des principes fondamentaux de machine learning.
Durée Minimum 10 semaines.

Contexte

De nombreux outils informatiques permettent la mise en œuvre de techniques de machine learning. Parmi ces outils, certains frameworks sont proposés dans divers langages de programmation, de sorte qu’il soit possible d’utiliser les techniques de machine learning programmatiquement. Afin de faciliter cette utilisation, il est cependant parfois souhaitable de formaliser la préparation les données analysées, l’apprentissage des modèles et leur utilisation de manière simplifiée (par exemple, visuellement). Certains environnements tels que la plateforme Azure Machine Learning [1] proposent déjà une telle formalisation en représentant les différentes transformations des données sous la forme de "boîtes" connectées.

Travail à réaliser

Le but de ce stage est de proposer une application Web, similaire dans son principe à Azure Machine Learning, qui permette l’utilisation de frameworks de machine learning de manière visuelle. Plus précisément, l’application devra permettre à ses utilisateurs de créer un environnement de préparation, d’apprentissage et d’exploitation de modèles de machine learning qui soit essentiellement visuel.

La mise en œuvre des techniques de machine learning proprement dite sera réalisée par la bibliothèque Python SciKit-Learn [2], mais l’application devra être conçue de sorte qu’il soit possible d’utiliser une autre bibliothèque. En particulier, il est prévu qu’à terme les fonctionnalités offertes par le projet Apache Spark [3] soient utilisables au moyen de cette application.

Bien que le but premier de l’application consiste à fournir une interface graphique permettant la gestion d’un environnement de machine learning, de nombreux choix devront être considérés afin que l’application soit exploitable dans différents contextes d’utilisation. On veillera particulièrement à assurer une persistance performante des entités impliquées dans l’application, à ce que celle-ci puisse être facilement étendue afin de proposer de nouveaux outils de traitement des données (par exemple, de nouveaux algorithmes de machine learning), et que tous les résultats produits par l’application soient exploitables sans avoir recours à une interface graphique.

Encadrement

L’entièreté du travail sera encadré. Le stagiaire utilisera une plateforme de développement permettant le suivi constant de ses progrès. Il devra également faire preuve d’autonomie et d’esprit critique lorsque des choix techniques et technologiques devront être opérés.

Contact : Mathieu Goeminne (mathieu.goeminne@cetic.be)

[1]https://azure.microsoft.com/fr-fr/services/machine-learning/
[2] http://scikit-learn.org
[3] http://spark.apache.org