Tâches
Tout d'abord, JetBrains a identifié les activités des membres de son panel. La majorité des professionnels en Data Science ont déclaré évolué en Data processing. Le Data processing, ou traitement des données, renvoie à une série de processus qui permettent d'extraire de l'information ou de produire du savoir à partir de données brutes. En seconde position vient le Data visualization, ou représentation graphique de données statistiques. Il s'agit d'un ensemble de méthodes de représentation graphique, en deux ou trois dimensions, utilisant ou non de la couleur et des trames. Les moyens informatiques permettent de représenter des ensembles complexes de données, de manière plus simple, didactique et pédagogique. Et pour fermer la marche viennent les professionnels travaillant en statistiques de base.
Commentant ce tableau, Natalia Vassilieva, Head of Software and AI, Hewlett Packard Labs, a déclaré :
« Selon le tout premier tableau, un pourcentage relativement faible de répondants travaillent sur le déploiement de modèles en mode de production. Ceci est en corrélation avec plusieurs études de marché qui indiquent que la majorité des entreprises commencent tout juste à explorer l'apprentissage automatique et l'apprentissage en profondeur.
« Ils ont de petites équipes travaillant sur des PoC et le déploiement de modèles en production doit encore être abordé. Mais je m'attends à ce que ce type d'activité devienne de plus en plus visible dans les prochaines années, alors que de plus en plus d'entreprises passeront des PoC aux déploiements de production. »
Langages de programmation
Sans surprise, Python reste le langage de programmation le plus utilisé ; plus de la moitié des professionnels interrogés s'en servent. R et Java sont au coude à coude avec respectivement 15 et 14 %. R est un langage de programmation et un logiciel libre destiné aux statistiques et à la science des données soutenu par la R Foundation for Statistical Computing, il n'est donc pas surprenant de le voir figurer dans le top 3.
Lorsqu'il leur a été demandé s'ils prévoyaient d'adopter (voire de migrer vers) d'autres langages dans les 12 prochains mois, la moitié des répondants a répondu par la négative. Cependant, 15 % ont évoqué une adoption / migration vers C++, 13 % vers Go, 7 % vers Kotlin, le même pourcentage pour R et Java.
La moitié des répondants pensent que Python va rester le langage le plus utilisé dans 5 ans. 9 % voient plutôt en R le langage qui sera le plus utilisé et 7 % misent sur Java. En fait, dans l’ensemble, les gens ont tendance à choisir le langage qu’ils utilisent. Parmi ceux qui n'utilisent pas un langage qui, à leur avis, va dominer, la plupart veulent commencer à l'utiliser. La moitié de ceux qui croient que Kotlin dominera envisage de l'adopter dans un avenir proche.
Langage de programmation principal pour l'analyse des données
Pour Natalia Vassilieva :
« Il n'y a pas de surprises avec les langages de programmation. Les data scientists traditionnels sont parmi les plus susceptibles d’utiliser encore R ; il existe de nombreuses bibliothèques de statistiques pour R. La nouvelle génération de data scientists choisit Python.
« En ce qui concerne l’analyse de données haute performance, j’espérais voir le C/C ++ dans le paysage. Nous constatons actuellement que de nombreuses techniques et outils pour le calcul à haute performance sont en train d'être adoptés et réutilisés pour l'analyse haute performance de données et l'apprentissage en profondeur. »
Vitaly Khudobakhshov, Product Manager, JetBrains avance que :
« Kotlin est un langage général qui s'exécute sur la machine virtuelle Java. Il est concis et s'intègre facilement aux infrastructures de traitement de données populaires telles que Hadoop et Spark.
« Kotlin est typé statiquement et utilise une inférence de type qui augmente sa fiabilité. Ces caractéristiques font toutes de Kotlin un instrument pratique pour l’ingénierie et la science des données. »
Outils, technologies et éditeurs
Un tiers de ceux qui affirment travailler avec le Big Data n’utilisent aucun outil Big Data. À l'inverse, un tiers de ceux qui ne travaillent PAS avec le Big Data utilisent des outils Big Data. Néanmoins, cette auto-identification est en corrélation avec des facteurs formels.
Côté IDE et éditeurs, 43 % sont sur Jupyter / IPython notebook, 38 % sur PyCharm et 26 % sur RStudio. Jupyter est une application web utilisée pour programmer dans plus de 40 langages de programmation, dont Python, Julia, Ruby, R, ou encore Scala. Jupyter est une évolution du projet IPython. Jupyter permet de réaliser des calepins ou notebooks, c'est-à-dire des programmes contenant à la fois du texte en markdown et du code en Julia, Python, R, etc. Ces notebooks sont utilisés en science des données pour explorer et analyser des données. Il n'est donc pas très surprenant de le voir autant populaire parmi les professionnels de la discipline.
Pour ce qui concerne les outils, 41 % ont déclaré ne pas en utiliser. 19 % se servent de Microsoft Azure ML et 6 % de RapidMiner. Alpine Data Chorus et Domino Data Labs enregistre chacun 4 %.
Quels outils utilisez-vous pour l'analyse des données, si vous en utilisez un ?
Apparemment, si vous faites un apprentissage en profondeur, vous le faites avec TensorFlow. Près de 80 % des utilisateurs de bibliothèques d’apprentissage en profondeur utilisent TensorFlow, et presque tous les utilisateurs de Keras l’utilisent avec TensorFlow. TensorFlow est un outil open source d'apprentissage automatique développé par Google, il se présente comme une bibliothèque dédiée au calcul numérique utilisant des graphes de flux de données. En 2015, Google annonce la mise sous licence open source de Tensor afin de permettre aux experts dans ce domaine d’apporter leurs contributions à ce projet en vue d’accélérer son développement. L'investissement a été porteur de fruits : lors de l’évènement TensorFlow Developer Summit 2017, Google a annoncé que TensorFlow était désormais disponible en version 1.0. Cela constituait une étape importante, car à partir de là, les développeurs pouvaient être assurés de l’utiliser en production sans craindre des risques de bogues majeurs ou encore de suivre l’évolution du code sans observer de trop grands changements.
Source : JetBrains