Techniques et algorithmes incontournables
Constituer sa boîte à outils
En guise d’introduction à ce chapitre, listons succinctement ce dont il est difficile de se passer pour travailler ses données avec R et en retirer quelque chose :
-
Un panel de techniques de visualisation pour appréhender les données, préparer l’action puis contrôler visuellement le résultat de ses travaux.
-
Des points de repère théoriques pour s’orienter dans les choix techniques, quelques bons algorithmes de classification, de régression et de clustering pour se mettre le pied à l’étrier.
Ceci constitue donc à peu de chose près le plan de ce chapitre.
En fait, au travers des chapitres précédents, nous disposons d’ores et déjà d’un kit tout à fait respectable sur certains de ces sujets :
-
Concernant l’aspect graphique : plots, diagrammes par paires, histogrammes, densité, boîtes à moustaches, "facet" par classe, 3D, courbes de niveaux/contours, visualisation interactive multifenêtrée...
-
Concernant la classification et la régression : indicateurs et tests divers, arbre de décision, régression linéaire multivariée et Random Forest,
-
Et en bonus de nombreuses techniques permettant de façonner les données à sa guise : lire des fichiers...
Représentation graphique des données
Le package ggplot2, dont la syntaxe se veut être une "grammaire graphique", sera régulièrement invoqué dans cette section. De nombreux paramètres de cette grammaire sont communs avec ceux du package de base de R.
Les exemples sont effectués sur des jeux de données déjà utilisés plus haut et disponibles sur le site compagnon de l’ouvrage.
Nous allons aborder la forme et la syntaxe de différents graphes, mais aussi tenter de les interpréter succinctement : "c’est en forgeant que l’on devient forgeron".
1. Un graphique "simple"
La façon de construire un graphique que nous allons voir maintenant est intéressante : c’est un processus qui s’appuie sur une grammaire graphique que nous allons explorer pas à pas.
Ces graphiques vont se construire d’une façon structurée, globalement :
-
chargement des données dans une structure graphique,
-
création d’un jeu de paramètres,
-
ajout de représentations graphiques par couches successives (de géométries diverses),
-
le cas échéant, ajout d’un thème qui transforme l’ensemble,
-
affichage du graphique.
Chargeons le package.
library(ggplot2)
Construisons notre premier graphique, le plus utile : un "scatterplot" avec une régression entourée de sa zone de confort. Nous utilisons un data.frame déjà utilisé plus haut, dont les variables numériques vont de v1 à v12 et qui comporte une variable "factor" qui se nomme "classe".
## travail sur la grammaire de ggplot2 ##
## un graphe simple : v11 en fonction de v7 avec régression ##
p <- ggplot(data=df2) # on choisit son dataset
a1<- aes(x=v7,y=v11) # liste des variables et paramètres
# création du plot p1
p1<- p+ # au moins un paramètre de géométrie:
geom_point(a1, ...
Machine learning : pratiques courantes
1. Parcours théorique accéléré
Nous sommes maintenant familiers avec un certain nombre de concepts et de notations que nous avons abordés au travers d’expériences et de découvertes empiriques successives. Nous allons repositionner certaines de ces informations dans un cadre théorique simplifié afin de vous donner une rapide vue d’ensemble de l’agencement du champ théorique commun aux praticiens du machine learning. Nous prendrons le plus souvent le point de vue de l’apprentissage supervisé (et avec une petite tendance à privilégier l’aspect classification par rapport à l’aspect régression de l’apprentissage supervisé car celui-ci est plus didactique).
Attention : ici comme dans les autres parties de l’ouvrage, les notions mathématiques sont esquissées mais pas formellement décrites comme le ferait un mathématicien, par exemple les quantificateurs mathématiques et les définitions précises des espaces auxquels appartiennent certaines variables, certaines fonctions et leurs domaines de définition ou images ne sont pas formellement explicités (pour éviter par exemple de définir des notions du type espace de Hilbert, ou issues de la théorie de la mesure...). Pour avoir des définitions "rigoureuses" référez-vous aux sites que nous citons dans l’introduction de l’ouvrage.
a. Linéarité
Les modèles linéaires mettent en œuvre un signal qui peut s’exprimer sous la forme : wTx + b (on trouve également cette formulation dans le cas d’un composant de base des réseaux neuronaux, le perceptron, qui se base sur une séparation linéaire de l’espace).
Reportez-vous au chapitre Introduction pour les schémas correspondants. On y trouve par exemple une représentation de cette dernière expression.
On peut également noter cela en mettant en évidence que le premier terme est un produit scalaire, ce qui permet d’imaginer d’autres constructions similaires avec d’autres produits scalaires : (w, x) + b.
Considérons h(x) une fonction hypothèse, telle que cette fonction soit...
Où en sommes-nous dans notre apprentissage ?
À ce stade, il nous semble intéressant de faire le point sur les connaissances acquises au travers d’une éventuelle étude linéaire de cet ouvrage jusqu’à la fin de ce chapitre.
1. Vos acquis opérationnels
Vous disposez maintenant de la capacité à traiter tous les cas du "main stream" de l’utilisation du machine learning, au sens où vous disposez d’exemples pratiques et opérationnels sur des algorithmes utilisés quotidiennement aujourd’hui par de nombreux professionnels, que cela soit pour la régression, la classification et la clusterisation. Vous connaissez assez bien R pour travailler vos données à l’infini, créer toutes les fonctions de service qui pourraient vous être couramment utiles et effectuer vos analyses visuelles ou valoriser votre travail au travers de graphiques de qualité.
Votre vocabulaire et votre connaissance des concepts de base sont suffisants pour aborder les modes d’emploi de nombreux packages et déchiffrer le sens de très nombreux textes émis par des chercheurs. Vous pouvez vous intégrer dans une équipe et dialoguer. Évidemment vous aurez à aborder de nombreuses autres techniques, mais dans la plupart des cas vous pourrez les interpréter au travers...