Dans la plupart des domaines de l’informatique, que ce soit celui du Big Data, l’apprentissage automatique ou encore l’intelligence artificielle (IA), il existe diverses préférences ou recommandations quant aux outils (technologies et langages de programmation) à utiliser pour rendre le travail plus ou moins facile. Dans le domaine de la science des données, on retrouve les langages de programmation Python et R qui sont utilisés pour l’analyse de données. Alors entre ces deux langages, lequel est le meilleur pour l’analyse de données ? Norm Matloff nous propose son avis sur la question.La science des données (en anglais data science) est une discipline qui s'appuie sur des outils mathématiques, de statistiques, d'informatique et de visualisation des données. Son développement s’est accentué au cours de ces 20 dernières années notamment avec l’essor du Big Data et l’apprentissage automatique, les entreprises produisant de plus en plus de données. Elle est en plein développement dans le secteur privé et le secteur public ainsi que dans le monde universitaire.
Dans l’analyse de données, les experts en mégadonnées reconnaissent l’utilité et les potentiels qu’offrent les langages de programmation Python et R. Ce sont des langages de programmation open source avec une grande communauté. De nouveaux outils sont ajoutés en permanence à leur catalogue respectif. Le langage R est principalement utilisé pour l’analyse statistique, tandis que Python fournit une approche plus générale. De plus, les experts en mégadonnées utilisent R et Python pour le fait qu'il s'agisse de langages interprétés, ce qui est beaucoup plus adapté que les langages compilés pour faire de l’analyse de données.
Expliqué autrement, un langage interprété va permettre de visualiser directement le résultat de chaque étape de l’analyse. Les analyses nécessitent beaucoup d’allers-retours et de modifications des instructions, ce qui rend un langage interprété définitivement plus adapté. Un autre aspect de la chose est que les langages R et Python ont un ensemble d’instructions (de fonctions) déjà toutes faites et bien adaptées à l’analyse de données, d’où leur popularité en science des données. Même si l’utilisation de R et de Python mène le plus souvent au même résultat, la question de savoir lequel d’entre eux est le plus adapté à la science des données n’est pas exclue et il existe plusieurs comparaisons et avis sur le sujet.
Norm Matloff, professeur d'informatique et de statistique à l'université de Californie, a réalisé une petite comparaison des deux langages et a une attirance plus élevée pour R que pour le langage Python. Dans sa comparaison, il s’est penché sur des aspects tels que l’élégance des langages, la courbe d’apprentissage, les bibliothèques disponibles pour les deux langages, l’exactitude statistique, le calcul parallèle, l’interfaçage avec d’autres langages tels que le C et le C++, les structures de données, les apports dans les domaines comme celui de l’apprentissage automatique et les aides en ligne disponibles pour chacun des deux langages.
Pour Matloff, certes, Python est bien plus élégant dans sa syntaxe que le langage R, mais sa courbe d’apprentissage est plus compliquée que celle de R, ce qui ne joue pas forcément en sa faveur. Pour même commencer à utiliser Python pour la science de données, dit-il, il faut apprendre beaucoup de choses qui ne sont pas en Python de base, par exemple, NumPy, Pandas et matplotlib. En revanche, les types de matrices et les graphiques de base sont intégrés à la base au langage R. Pour lui, le novice peut effectuer de simples analyses de données en quelques minutes. Les bibliothèques Python peuvent être difficiles à configurer, même pour les utilisateurs avertis, alors que la plupart des packages R fonctionnent immédiatement. Cependant, certains pensent que R ne propose pas de boucle efficace (for serait super lent en R).
Comparant les bibliothèques Python et R disponibles pour l’analyse de données, il a écrit que les bibliothèques spécifiques sont plus nombreuses et facilement trouvables dans R à travers CRAN que Python par l'intermédiaire de PyPI (Python package index). Selon ses explications, ces deux langages possèdent de solides bibliothèques permettant d’écrire de puissants algorithmes de machine learning. À titre illustratif, R possède une pléthore de packages spécifiquement développés pour...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.
.