La prochaine session de Demandez le Programme! a eu lieu le jeudi 28 février à 13h en salle Poincaré du bâtiment Turing et était animée par Jean-Daniel Fekete (équipe-projet Aviz), qui présentera le projet Progressivis.
MAJ: Les slides peuvent être trouvées ici.
L'analyse de données exploratoire, rendue populaire par John Tukey aux USA dans les années 60 et par Jean-Paul Benzécri en France dans les années 70, consiste à appliquer des méthodes d'analyses à la fois visuelles et utilisant des statistiques descriptives pour comprendre des données et les caractériser avant même de leur appliquer des analyses spécifiques (classification, régression, etc.). Ces méthodes ont évoluées aujourd'hui vers la visualisation de données et la visualisation analytique (visual analytics), à notre époque où les données disponibles prolifèrent et les algorithmes d'analyse ont aussi explosés en quantité et qualité.
Cependant, les systèmes d'analyse exploratoires populaires (R, Python, Julia, Tableau) ne permettent plus une exploration lorsque les données augmentent fortement en taille ou que les algorithmes d'analyse sont trop complexes. Lorsque des analystes utilisent ces systèmes, ils doivent attendre les résultats des requêtes ou des calculs pendant des temps toujours plus long. Hélas, la cognition humaine est ainsi faite qu'au-delà d'un temps d'attente d'une dizaine de secondes, l'attention humaine diminue et les résultats d'explorations se dégradent fortement.
Pour remédier à cette dégradation, un nouveau paradigme est apparu en 2014 : l'analyse progressive de données. Dans ce paradigme, toutes les opérations d'analyse et de visualisation sont faites "progressivement" et des résultats sont retournés à l'analyste dans des délais garantis inférieurs à 10 secondes. Cependant, ces résultats sont initialement approximatifs mais s'améliorent avec le temps. Durant cette progression, les analystes peuvent superviser les calculs ou prendre des décisions souvent avant le résultat final, par exemple arrêtant un calcul qui ne converge pas ou ne convient pas.
Avec Christian Poli, ingénieur SED, nous développons un langage, ou plutôt une sémantique d'exécution basée sur Python, pour l'analyse de données et la visualisation qui est nativement progressif : ProgressiVis. Nous allons expliquer son fonctionnement interne et les défis qu'il présente, ainsi que les pistes pour les résoudre. Le calcul progressif est à mi-chemin entre le calcul classique et le "streaming"; il nécessite donc des adaptations dans les couches très basses des bibliothèques de gestion des données et des calculs, ainsi que des visualisations. Nous montrerons quelques exemples et espérons intéresser l'audience pour de nouvelles applications interactives qui passent à l'échelle et pour de nouveaux algorithmes permettant aux utilisateurs de mener à bien des analyses plus efficacement.