Les premiers pas en Machine Learning avec R et Python
Le langage R
R est un langage de programmation sous licence libre orienté vers le calcul statistique. A la différence des langages classiques comme Java, C++ ou Python (langage de script), les fonctions implémentées dans R servent principalement au calcul et à l’analyse de données.
R est un des langages favoris pour faire de l’apprentissage automatique (Machine Learning) dans la mesure où il est à la fois rapide et simple d’utilisation. On utilise aussi souvent conjointement la bibliothèque scikit-learn écrite en Python et développée par des chercheurs de l’INRIA.
Nous allons ici nous servir de R pour mettre en œuvre un algorithme de Machine Learning.
R a la particularité d’être un langage de script, il n’est donc pas compilé par l’ordinateur mais interprété. Pour lire et exécuter un programme écrit en R, il convient donc télécharger au préalable l’interpréteur disponible ici. Afin d’écrire des programmes en R, il nous faut également un environnement de développement intégré IDE. Nous vous proposons d’utiliser pour ce billet R Studio disponible au téléchargement ici.
Après l’installation de l’interpréteur R et de R studio, vous pouvez donc ouvrir R Studio. L’interface se présente comme suit en 3 zones :
- Editeur de texte classique muni de l’auto-complétion où nous allons écrire notre programme
- Interpréteur R utile pour lancer des tests lors de l’écriture d’un programme. Les programmes écrits dans l’éditeur de texte seront également lancés dans cet interpréteur
- Visualisation des variables créées dans l’interpréteur
Notre environnement de travail est désormais prêt :) Téléchargeons donc à présent le jeu de données à analyser.
R Studio dispose de nombreux jeux de données à l’installation. Intéressons-nous au jeu de données Iris et appliquons-lui une méthode appelée arbres de décision.
Tapez ces 4 lignes de code et cliquez sur Run :
library(rpart)
data(iris)
decisionTree <- rpart(Species ~ Sepal.Width + Petal.Width, iris)
text(decisionTree)
L’arbre de décision s’affiche alors :
Du Machine Learning avec Python ?
Comme nous l’avons mentionné plus haut, il existe une bibliothèque conçue en Python (langage de script) permettant de faire du Machine Learning : scikit-learn. Elle est disponible dans le package Anaconda ou WinPython.
Dans ces deux packages est disponible un interpréteur Python et un éditeur nommé Spyder. En ouvrant Spyder, on accède à la fenêtre suivante :
- Editeur de texte classique muni de l’auto-complétion où nous allons écrire notre programme.
- Interpréteur R utile pour lancer des tests lors de l’écriture d’un programme. Les programmes écrits dans l’éditeur de texte seront également lancés dans cet interpréteur.
Collez le code disponible ici pour obtenir une visualisation 3D du même jeu de données après application d’une méthode appelée ACP (Analyse en Composantes Principales).
La suite…
Nous avons vu dans ce billet deux des outils sous licence libre les plus utilisés pour appliquer des méthodes de Machine Learning. Nous nous intéresserons par la suite au fonctionnement de ces algorithmes.