Les data scientists et les ingénieurs logiciels impliqués dans des disciplines liées aux sciences des données sont confrontés à plusieurs grands défis. D’une part, ils font face à des problèmes liés à la saisie et au nettoyage des données, à des problèmes liés aux biais dans les modèles et à ceux liés à la confidentialité des données. Ensuite, ils ont du mal à trouver des personnes expérimentées ayant les compétences techniques nécessaires. Tels sont les résultats d’une enquête publiée récemment par Anaconda, l’éditeur de la distribution Python éponyme pour les applications de calcul scientifique. Pour cette enquête sur l'état de la science des données - 2020 State Of Data Science - Anaconda a interrogé 2 360 personnes dans 100 pays, dont un peu moins de la moitié travaille aux États-Unis.
Le data cleansing est chronophage
Malgré les nombreux progrès réalisés ces dernières années dans les environnements de travail de la science des données, la corvée du nettoyage et de la préparation des données occupe toujours une part importante de la journée du data scientist. Selon les estimations des personnes interrogées, le chargement et le nettoyage des données prennent respectivement 19 % et 26 % de leur temps, soit quasiment une demi-journée de travail. La sélection des modèles, l’entraînement/l’évaluation et le déploiement prennent environ 34% de leur temps (environ 11% pour chacune de ces tâches individuellement).
Concernant la mise en production de ce travail préparatoire, c’est le respect des normes de sécurité IT de leur entreprise qui pose le plus de problèmes, tant aux data scientists qu’aux développeurs et aux administrateurs systèmes, même si cela inclut la difficulté de déployer une nouvelle application à grande échelle. Cependant, le cycle de vie des applications d'apprentissage machine et de data science a ses propres défis, comme celui de maintenir et de corriger les vulnérabilités plusieurs piles d'applications open source.
Une inadéquation avec les formations
Le fossé entre les compétences enseignées dans les filières d’éducation et les compétences nécessaires dans l'entreprise est un autre problème mentionné par les personnes interrogées. La plupart des universités proposent des cours de statistiques, dispensent des enseignements théoriques sur l'apprentissage machine et des cours de programmation en Python, et la plupart des étudiants suivent ces cours. Mais les entreprises ont surtout besoin de compétences en gestion de données qui ne sont que rarement ou pas du tout enseignées, et de compétences avancées en mathématiques qui ne sont pas souvent enseignées non plus aux étudiants. Ces derniers estiment eux-mêmes que le manque d'expérience (40 %) et de compétences techniques (26 %) sont les principaux obstacles à l'emploi dans ce domaine, des lacunes qui, selon Anaconda, pourraient être mieux comblées par de solides stages qui « ne servent pas seulement à enrichir un curriculum vitae et des compétences techniques qui vont au-delà de la pratique au clavier ».
L’une des conclusions du rapport ne devrait surprendre personne : Python reste en tête des langages utilisés dans le domaine de la science des données. Le langage R arrive en seconde position, tandis que JavaScript, Java, C/C++ et C# sont loin derrière. Le langage Julia, dont la popularité s’affirme pourtant dans le monde de la science des données, n’arrive pas encore à se positionner dans la course. Mais on ne sait pas si c'est parce qu’il n'a pas été suffisamment cité par les personnes interrogées ou s’il n’a pas été mentionné par l'enquête