Les premiers pas en Machine Learning avec R et Python

De façon à rentrer de plein pied dans le monde du Machine Learning, nous souhaitons partager une compréhension commune des principes de l’apprentissage automatique, et expliquer au travers d’une série courte de billet ce qu’est l’apprentissage supervisé et non-supervisé avec des applications ainsi que les moyens d’évaluer un modèle en apprentissage automatique.

Ce billet est pour l’essentiel une republication sur ce blog du billet éponyme déjà publié sur le blog MSDN Big Data France .

Je vous souhaite une bonne lecture de ce billet

--Philippe

_________________________________________________________________________________________

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 :

  1. Editeur de texte classique muni de l’auto-complétion où nous allons écrire notre programme
  2. 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
  3. Visualisation des variables créées dans l’interpréteur

image

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 :

image

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.

image

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).

image

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.