L’association Sunny Tech a organisé pour la première fois à Montpellier une grande conférence qui se veut être le rendez-vous annuel des technologies du numérique et qui porte le même nom : Sunny Tech.
Cette conférence qui a eu lieu les 28 et 29 juin 2018 à l’Institut Universitaire de Formation des Maitres (I.U.F.M) est la première en son genre car, comme le dit Loïc Talon, l’un des fondateurs de l’association montpelliéraine à but non lucratif, « […] elle a été créée par des passionnés pour des passionnés ». Et de la passion il y en avait bien durant cet événement autant de la part des organisateurs que des speakers.
Et Kaliop était aux premières loges en tant que partenaire et bon élève pour le vivre, et vous en fait un petit compte rendu des présentations auxquelles elle a assisté.
“Data science driving scalability: Throttling RTB bid requests” : Jean-Baptiste Pettit / Teads.tv, Montpellier
Jean Baptiste, docteur en statistiques et actuellement data scientist chez Teads nous a montrer comment optimiser son utilisation des algorithmes de machine learning.
Mais qu’est-ce que le machine learning?
Le machine learning constitue une manière de modéliser des phénomènes, dans le but de prendre des décisions stratégiques.
Ça c’est la définition que donne Open Class Room. La mienne, en tant qu’apprentie data scientist, serait :
Comment réussir à prédire ce qui va se passer à partir de données que j’ai déjà.
Comment construire un modèle statistiques (oui, il faut un peu de maths quand même) pour pouvoir modéliser le comportement d’un phénomène ? Il s’agit là de ce qu’on appelle de l’apprentissage. Et la méthode la plus couramment utilisée est la Cross Validation. Le principe est de donner à la machine un jeu de données à analyser (appelé “jeu d’apprentissage »), construire un modèle à partir de ces données, tester le modèle sur un autre jeu de données (appelé “jeu de test”, logique!) et enfin lui donner de nouvelles données pour prédire leur comportement et l’évolution du phénomène.
Et de nos jours, de nombreuses méthodes d’apprentissage existent et leur évolution s’est faite de façon exponentielle avec l’évolution des machines en termes de rapidité d’exécution et de capacité de stockage.
Qu’en tirer ?
Lors de cette présentation, la comparaison s’est faite essentiellement sur deux algorithmes : les réseaux de neurones, ce nouvel algorithme qui a le vent en poupe et qui fait preuve de rapidité d’exécution entre autres avantages et la régression linéaire, une méthode plus mature, éprouvée et qui a prouvé son efficacité au fil des décennies.
Là où certains analystes fonceraient tête baissée dans des réseaux de neurones, d’autres utiliseraient les modèles linéaires qui peuvent être une solution de prédiction plus simple à paramétrer particulièrement lorsqu’on analyse un échantillon de données de taille moyenne (on parle ici de millions voire, de milliards d’individus dans nos échantillons). A ce jour, même si les RN donnent de bons résultats car même dans des domaines très complexes, ils sont plus performants que les statistiques ou les arbres de décisions et qu’en prime ils sont utilisables dans la résolution de diverses problématiques, ils présentent un problème de taille qui est qu’on n’a pas encore de moyens permettant de définir leur architecture optimale. Architecture définie par le nombre de couches cachées du réseau ainsi que le nombre de neurones sur chacune d’entre elles. La définition de ces paramètres dépend aujourd’hui de l’intuition des opérationnels.
Les bibliothèques R et Python pour les modèles linéaires et réseaux de neurones :
R : lme4, lmerTest, neuralnet
Python : sickit-learn
Sophie, Marine et Florian au Sunnytech 2018
“La data science au fil de l’H2O” : Nicolas Duforet / Adagio, Région de Montpellier
Cette présentation fait écho à celle de JB Pettit sur l’analyse statistique pour la prédiction. Nicolas, nous a présenté une plateforme qui va révolutionner la vie des data scientists qui n’ont pas forcément un background statistiques mais plutôt informatique: H2O.
Application open source développée par 0xData et basée sur java dédiée au machine learning qui se veut rapide, scalable et facile d’utilisation. Utilisable sous R à travers sa bibliothèque “h2o” elle permet de manipuler des données et surtout d’utiliser les différentes méthodes de prédiction tels que: modèles linéaires, forêts aléatoires, k-moyennes, réseaux de neurones et surtout de comparer ces différentes méthodes pour voir laquelle donne des résultats optimaux.
Cependant, sa force réside dans le fait qu’elle propose une gestion optimisée de la mémoire, une base clé-valeur interne et la compression des données ce qui est un avantage non négligeable à l’ère où l’on traite des données de plusieurs dizaines de téraoctets.
“Excel no more : Python + Pandas is love” : Florent D’halluin / Netheos, Région de Montpellier
Pour continuer dans la lancée des outils statistiques open source dédiés à l’analyse de données, j’ai fini ma première journée avec une présentation sur la bibliothèque “Pandas”. Une simple bibliothèque pour Python qui, à travers sa syntaxe expressive et toutes ses fonctionnalités, supplante le traditionnel Excel pour le nettoyage et la mise en forme des données tabulaires dites « small »-data de type : csv, excel, hdf5, json, parquet, msgpack ou même de créer les données sous forme de data frame (tableaux multivariés) depuis des requêtes SQL.
Comme l’a si bien dit Florent: “…[Pandas] permet de générer vite fait en 3 lignes un rapport d’exploitation, quand vous seriez encore en train de pleurer du sang pour nettoyer les données avec Excel.”
L’outil, utilisé en étroite collaboration avec NumPy permet, entre autre, de modéliser les données, retirer les valeurs NaN, structurer les data frame, modifier les types de données pour pouvoir y appliquer des fonctions et algorithmes appropriés, analyser… et ce, en quelques commandes.
Le babyfoot de la #KaliopTeam lors du Sunnytech 2018
“CommonCrawl.org, le web à portée de main !” : Eric Frichot / Freelance, Région de Marseille
Vous aviez déjà entendu parler du “Common Crawl” ? Non ? Eh bien moi non plus.
Du coup, je me suis mise en quête de savoir en quoi ça consistait. Après la présentation d’Eric, en “crawlant” le web, (et oui, faut se mettre à la page avec ces nouveaux termes qui fleurissent chaque jour et celui-ci veut dire – dans le monde du numérique “parcourir”), j’ai découvert qu’il s’agissait d’une fondation américaine qui a pour mission de démocratiser le web en “crawlant” la toile et stockant mensuellement les données dans un dépôt accessible et analysable par tous. “Des années de pages web stockées et disponibles pour changer le monde” est leur devise.
Ces données stockées depuis 7 ans, dont la capacité se compte en petabytes réparties sur des milliards de sites web, sont disponibles dans +40 langages différents.
Cependant, cette base de données comporte un problème, eh oui, rien n’est encore parfait en ce bas monde… Si l’on veut n’extraire qu’un sous ensemble de la base de donnée de CommonCrawl, c’est impossible.
Et c’est là que la présentation d’Eric devient intéressante, un autre outil existe et pallie à ce problème : “Storm Crawler”.
Il s’agit d’un projet open source SDK qui permet de crawler le web en low-latency et de façon scalable avec Apache Storm. On peut donc faire le même travail que CommonCrawler et répondre à des besoins plus spécifiques.
Sa supériorité ? En plus d’être résilient et de crawler en continu, il est poli, oui oui, poli. Sa faiblesse? Il est à utiliser avec Elasticsearch qui peut être un peu complexe en fonction des cas d’utilisation.
D’autres alternatives sont possibles : Scrapy, Apache Nutch, Heritrix, Gnu Wget… des outils adaptés aux besoins de chacun. A vous de trouver le vôtre. On n’arrête pas le progrès !
Laisser un commentaire