Sites Inria

English version

Logiciel

Pierre Michaud - 27/03/2014

Scikit-Learn donne de l’intelligence à nos systèmes

Scikit-Learn est une bibliothèque de modèles d’apprentissage statistique – ou machine learning – développée grâce au langage de programmation Python. Cet outil open source, développé sous l’impulsion de l’équipe Parietal, rencontre un franc succès.

Franc succès pour Scikit-Learn lors de la dernière conférence Strata, en février 2014. Enthousiastes, les participants ont plébiscité à la fois son caractère innovant et sa facilité d’utilisation. Avant de rencontrer son public, cette solution logicielle a pourtant mis du temps à trouver son régime de croisière. Lancé initialement, en 2007, par quelques membres de la communauté scientifique Python, le projet Scikit-Learn ne connaît son véritable essor que trois ans plus tard, sous l’impulsion de Gaël Varoquaux. Au sein de l’équipe Parietal, le chercheur a besoin, pour ses travaux sur l’imagerie fonctionnelle du cerveau, d’un outil de modélisation prédictive qui s’intègre à l’écosystème Python. Il organise en 2010 un atelier de développement participatif ouvert. Objectif : implémenter en open source des méthodes d’analyse statistique de données. Deux ans plus tard, une version stable est mise en ligne.
« Dès le départ du projet, nous nous sommes fixé un certain nombre d’objectifs , explique Olivier Grisel, ingénieur expert dans l’équipe Parietal. D’une part, afin que la bibliothèque puisse être installée facilement sur différentes plateformes, nous avons veillé à ce qu’elle soit bien packagée. Dans le même temps, nous avons décidé de rédiger une documentation extensive sur l’utilisation de l’outil, avec des exemples concrets. Enfin, pour pouvoir assurer sa maintenance sur le long terme, nous tenions à ce que toutes les méthodes implémentées soient couvertes par une série de tests automatiques. Nous avons pu ainsi vérifier que les modifications de la base de code n’introduisaient pas de bugs. »

Un outil plébiscité par toute une communauté

Exemples de classification de données (données brutes à gauche) produits par Scikit-Learn

Le projet a très vite mobilisé des contributeurs externes du monde entier. « Il s’agit, pour la plupart, de chercheurs ou d’étudiants en thèse travaillant sur les analyses automatique de textes, la vision artificielle, les données génétiques, etc. , précise Olivier Grisel. Du reste, aujourd’hui, les contributions proviennent en majeure partie de personnes externes à Inria. Aujourd’hui, c’est toute une communauté qui s’est construite autour de Scikit-Learn. » Une communauté de contributeurs, mais aussi d’utilisateurs, pas forcément issus de la sphère académique. Par exemple, un grand nombre de start-up du Web s’approprient Scikit-Learn pour prédire des comportements d’achat d’utilisateurs, proposer des recommandations de produits ou détecter des comportements abusifs (fraudes, spams, etc.). Ce transfert vers les applications industrielles a été facilité par choix d’une licence open source très libérale (BSD) : les entreprises peuvent non seulement utiliser le logiciel, mais aussi l’intégrer à leurs propres produits sans autorisation spécifique. De plus, l’écosystème Python se prête particulièrement bien à une approche itérative de la modélisation des données : l’utilisateur peut entrer des scripts d’une ou quelques lignes sur un shell interactif, les exécuter immédiatement et visualiser le résultat de leur évaluation, par exemple sous forme de représentations graphiques. « Cela s’avère très précieux en phase exploratoire de l’analyse des données » , conclut Olivier Grisel.

Mots-clés : Machine learning Développement Olivier Grisel Python Open source Équipe Parietal

Haut de page

Suivez Inria tout au long de son 50e anniversaire et au-delà !