Qu’est-ce que le langage de programmation R ? Introduction et bases de R

Qu’est-ce que le logiciel R ?

R est un langage de programmation et un logiciel libre développé par Ross Ihaka et Robert Gentleman en 1993. R possède un vaste catalogue de méthodes statistiques et graphiques. Il comprend des algorithmes d'apprentissage automatique, la régression linéaire, les séries chronologiques, l'inférence statistique pour n'en citer que quelques-uns. La plupart des bibliothèques R sont écrites en R, mais pour les tâches de calcul lourdes, C, C++ et mes FortraLes codes n sont préférés.

R n'est pas seulement confié par des universitaires, mais de nombreuses grandes entreprises utilisent également le langage de programmation R, notamment Uber, Google, Airbnb, Facebook, etc.

L'analyse des données avec R se fait en une série d'étapes ; programmer, transformer, découvrir, modéliser et communiquer les résultats

  • Programme: R est un outil de programmation clair et accessible
  • Transformez: R est composé d'une collection de bibliothèques conçues spécifiquement pour la science des données
  • Découvrir: Enquêtez sur les données, affinez votre hypothèse et analysez-les
  • Modèle: R fournit un large éventail d'outils pour capturer le bon modèle pour vos données
  • Communiquez : Intégrez des codes, des graphiques et des résultats à un rapport avec R Markdown ou créez des applications Shiny à partager avec le monde

A quoi sert R ?

  • Inférence statistique
  • L'analyse des données
  • Algorithme d'apprentissage automatique

R par industrie

Si nous décomposons l’utilisation de R par industrie, nous constatons que les universitaires passent en premier. R est un langage pour faire des statistiques. R est le premier choix dans le secteur de la santé, suivi par le gouvernement et le conseil.

R par industrie

Forfait R

Les principales utilisations de R sont et seront toujours les statistiques, la visualisation et l’apprentissage automatique. L'image ci-dessous montre quel package R a reçu le plus de questions dans Stack Overflow. Dans le top 10, la plupart d’entre eux sont liés au workflow d’un data scientist : préparation des données et communication des résultats.

Paquet R

Toutes les bibliothèques de R, près de 12k, sont stockées dans CRAN. CRAN est un logiciel gratuit et open source. Vous pouvez télécharger et utiliser les nombreuses bibliothèques pour effectuer Machine Learning ou analyse de séries chronologiques.

Paquet R

Communiquer avec R

R propose plusieurs façons de présenter et de partager le travail, soit via un document markdown, soit via une application brillante. Tout peut être hébergé sur Rpub, GitHub ou sur le site Web de l'entreprise.

Vous trouverez ci-dessous un exemple de présentation hébergée sur Publier

Communiquer avec R

Rstudio accepte le markdown pour rédiger un document. Vous pouvez exporter les documents dans différents formats :

  • Document :
    • HTML
    • PDF/Latex
    • Word
  • Présentation
    • HTML
    • Vidéoprojecteur PDF

Communiquer avec R

Rstudio dispose d'un excellent outil pour créer facilement une application. Vous trouverez ci-dessous un exemple d'application avec les données de la Banque mondiale.

Communiquer avec R

Pourquoi utiliser R ?

La science des données façonne la manière dont les entreprises gèrent leurs activités. Sans aucun doute, rester à l’écart de l’intelligence artificielle et des machines mènera l’entreprise à l’échec. La grande question est de savoir quel outil/langage devriez-vous utiliser ?

Il existe de nombreux outils disponibles sur le marché pour effectuer des analyses de données. Apprendre une nouvelle langue demande un certain investissement de temps. L'image ci-dessous illustre la courbe d'apprentissage par rapport aux capacités commerciales qu'offre une langue. La relation négative implique qu’il n’y a pas de repas gratuit. Si vous souhaitez tirer le meilleur parti des données, vous devez passer du temps à apprendre l'outil approprié, à savoir R.

Évaluation des capacités de la science des données pour les entreprises

En haut à gauche du graphique, vous pouvez voir Excel et PowerBI. Ces deux outils sont simples à prendre en main mais n'offrent pas de capacités métier exceptionnelles, notamment en terme de modélisation. Au milieu, on voit Python et SAS. SAS est un outil dédié pour effectuer une analyse statistique pour les entreprises, mais il n'est pas gratuit. SAS est un logiciel « cliquez et exécutez ». Python, cependant, est une langue avec une courbe d’apprentissage monotone. Python est un outil fantastique pour déployer le Machine Learning et l’IA, mais manque de fonctionnalités de communication. Avec une courbe d’apprentissage identique, R est un bon compromis entre implémentation et analyse des données.

Lorsqu'il s'agit de visualisation de données (DataViz), vous avez probablement entendu parler de Tableau. Tableau est, sans aucun doute, un excellent outil pour découvrir des modèles à travers des graphiques et des diagrammes. De plus, apprendre Tableau ne prend pas beaucoup de temps. L’un des gros problèmes de la visualisation des données est que vous risquez de ne jamais trouver de modèle ou de simplement créer de nombreux graphiques inutiles. Tableau est un bon outil pour une visualisation rapide des données ou de la Business Intelligence. Lorsqu’il s’agit de statistiques et d’outil d’aide à la décision, R est plus approprié.

Stack Overflow est une grande communauté de langages de programmation. Si vous rencontrez un problème de codage ou avez besoin de comprendre un modèle, Stack Overflow est là pour vous aider. Au cours de l’année, le pourcentage de questions vues a fortement augmenté pour R par rapport aux autres langages. Cette tendance est bien sûr fortement corrélée à l’ère florissante de la science des données, mais elle reflète la demande du langage R pour la science des données.

Trafic de débordement de pile

En science des données, il existe deux outils en concurrence. R et Python sont probablement le langage de programmation qui définit la science des données.

Faut-il choisir R ?

Les data scientists peuvent utiliser deux excellents outils : R et Python. Vous n’aurez peut-être pas le temps de les apprendre tous les deux, surtout si vous commencez à apprendre la science des données. Apprentissage de la modélisation statistique et de l'algorithme est bien plus important que d’apprendre un langage de programmation. UN langage de programmation est un outil pour calculer et communiquer votre découverte. La tâche la plus importante en science des données est la façon dont vous traitez les données : importation, nettoyage, préparation, ingénierie des fonctionnalités, sélection des fonctionnalités. Cela devrait être votre objectif principal. Si vous essayez d'apprendre R et Python en même temps, sans une solide expérience en statistiques, c’est tout simplement stupide. Les data scientists ne sont pas des programmeurs. Leur travail consiste à comprendre les données, à les manipuler et à exposer la meilleure approche. Si vous réfléchissez à la langue à apprendre, voyons quelle langue vous convient le mieux.

Le public principal de la science des données est celui des professionnels. Dans le monde des affaires, une implication importante est la communication. Il existe de nombreuses façons de communiquer : rapport, application web, tableau de bord. Vous avez besoin d'un outil qui fait tout cela ensemble.

Est-ce que R est difficile ?

Il y a quelques années, R était un langage difficile à maîtriser. Le langage était déroutant et pas aussi structuré que les autres outils de programmation. Pour surmonter ce problème majeur, Hadley Wickham a développé une collection de packages appelés spiceverse. La règle du jeu a changé pour le mieux. La manipulation des données devient triviale et intuitive. Créer un graphique n'était plus si difficile.

Les meilleurs algorithmes d'apprentissage automatique peuvent être implémentés avec R. Des packages comme Keras et TensorFlow permettent de créer une technique d'apprentissage automatique haut de gamme. R dispose également d'un package pour exécuter Xgboost, l'un des meilleurs algorithme pour la compétition Kaggle.

R peut communiquer avec l’autre langue. Il est possible d'appeler Python, Java, C++ dans R. Le monde du big data est également accessible à R. Vous pouvez connecter R à différentes bases de données comme Spark ou Hadoop.

Enfin, R a évolué et a permis une opération de parallélisation pour accélérer le calcul. En fait, R a été critiqué pour n’utiliser qu’un seul processeur à la fois. Le package parallèle vous permet d'effectuer des tâches dans différents cœurs de la machine.

Résumé

En un mot, R est un excellent outil pour explorer et étudier les données. Des analyses élaborées telles que le clustering, la corrélation et la réduction des données sont effectuées avec R. C'est la partie la plus cruciale, sans une bonne ingénierie et un bon modèle de fonctionnalités, le déploiement de l'apprentissage automatique ne donnera pas de résultats significatifs.