Analyse en composantes principales
Objectif du chapitre
Les algorithmes du Machine Learning permettent principalement de réaliser des classifications, et de construire des modèles prédictifs à partir d’un échantillon de données. Le plus souvent, ces données sont définies dans des espaces de très grande dimension. Cela cause deux problèmes majeurs, à savoir :
-
Plus la dimension est élevée, plus les données sont éparses. Ce qui rend la tâche des algorithmes de prédiction plus compliquée et très sensible à la généralisation.
-
La représentation graphique de ces données devient quasiment impossible, puisque les capacités de visualisation de l’œil humain sont limitées à un nombre de dimensions
.
À partir de ce constat, le besoin de réduire la dimension des données devient important. L’objectif de ce chapitre est d’introduire l’ACP (Analyse en Composantes Principales) qui est l’une des méthodes les plus utilisées pour la réduction des dimensions.
À la fin de ce chapitre, le lecteur aura appris :
-
Ce que c’est que l’ACP et à quoi elle sert.
-
Les aspects analytiques associés à l’ACP.
-
Comment mettre en œuvre une ACP et interpréter ses résultats.
-
L’utilisation d’Azure ML pour...
Pourquoi l’ACP ?
Les données de grande dimension posent des problèmes liés à la pertinence des modèles prédictifs. Mais avant tout, cette grande dimension pose des problèmes de visualisation. En effet, l’œil humain est un outil très puissant qui, à partir d’un simple graphique et en quelques fractions de seconde, peut détecter des regroupements d’individus et des liaisons entre variables. Ces informations sur les individus et les variables peuvent naturellement être exploitées et utilisées pour la construction de modèles prédictifs performants. Le problème est que si les données sont exprimées dans un espace de dimension supérieure à trois, l’œil humain devient inutile. Dans la pratique, le plus souvent, les données appartiennent à des espaces nettement supérieurs à cette limite humaine. Pour en être convaincu, il suffirait par exemple de faire un tour sur le site "www.kaggle.com" dans lequel plusieurs compétitions sont proposées aux Data Scientists et aux experts et amateurs de l’intelligence artificielle. Ces compétitions portent sur des problèmes concrets posés généralement dans le milieu de l’entreprise.
Il existe plusieurs méthodes qui permettent de synthétiser...
L’ACP du point de vue géométrique

Figure 7-1 : Projection d’un nuage de points sur différents axes
Afin de donner une vision géométrique et intuitive de l’ACP, considérons le nuage de 15 points défini dans un espace à deux dimensions et représenté dans les quatre graphiques de la figure 7-1. Pour passer de cet espace à deux dimensions à un espace plus petit à une dimension, il faudrait procéder à la projection sur un seul axe de tous les points du nuage. Comme il existe une infinité d’axes de projection possibles, la question qui se pose immédiatement est "comment choisir cet axe ?"
L’ACP du point de vue analytique
En remplaçant (3) dans (2) on obtient :
Le produit scalaire est symétrique, donc la formule (4) devient :
Indicateurs de la qualité de la représentation
Les sections précédentes ont montré qu’une ACP est une projection d’un nuage de points qui permet d’avoir une vue simple, représentable en deux ou trois dimensions, et synthétique puisqu’elle résume les données étudiées. Cependant, l’ACP n’est pas une fin en soi, il faudrait donner un sens métier à ces résultats. Par exemple, à partir des résultats, nous pouvons constater des regroupements d’individus, ou encore, constater de fortes liaisons, corrélations, entre certaines variables. Il existe des indicateurs qui peuvent nous aider à l’interprétation des résultats d’une ACP. Comme nous allons le voir par la suite, ces indicateurs sont soit liés aux individus, soit liés aux variables.
1. Indicateurs liés aux individus
Une fois que le nuage de points est projeté dans un nouvel espace formé par les composantes principales, nous disposons de plusieurs métriques permettant de nous indiquer la qualité de la représentation des individus par cette projection. Ainsi, les trois sections suivantes montrent comment calculer :
-
le score d’un individu,
-
la contribution d’un individu à l’information apportée par une composante principale,
-
la qualité de la représentation...
Exemple d’ACP dans Azure ML
Afin de mieux comprendre les aspects théoriques abordés dans ce chapitre, nous allons réaliser une ACP sur un exemple. Nous avons volontairement choisi un jeu de données pour lequel nous avons une bonne idée des résultats. Ce choix va permettre de mettre en relation notre intuition des résultats et ceux obtenus par l’ACP. Ce jeu de données est composé de 30 observations, dont chacune correspond aux résultats d’un étudiant dans 10 matières différentes. Les individus qui composent notre nuage de points sont donc des étudiants, et les variables sont les matières suivantes : mathématiques, physique, sciences naturelles, histoire, géographie, philosophie, français, anglais, allemand et sport.
En résumé, nous avons un nuage de points défini dans un espace à 10 dimensions. Dans cet exemple, l’ACP nous permettra de visualiser en deux dimensions l’ensemble des étudiants et ainsi, avoir une idée sur la répartition de ces étudiants en fonction de leurs résultats. Le tout, en un clin d’œil sur un graphique en deux dimensions.
Pour réaliser une ACP dans Azure ML, connectez-vous à votre environnement Azure ML puis :
Créez une nouvelle expérience avec le nom ACP Étudiants.
Cliquez sur +NEW puis Dataset et chargez le fichier notes_étudiants.csv situé dans le répertoire Data du dossier de ce chapitre.
Ajoutez à l’expérience le module notes_étudiants.csv situé dans le groupe Saved Datasets - My Datasets du panneau à gauche. Visualisez les données de ce Dataset. Vous devriez avoir le même résultat que dans la figure suivante.

Figure 7-4 : visualisation du Dataset notes_étudiants.csv
Recherchez puis ajoutez dans l’expérience le module Normalize Data. Ce module va réaliser...
Conclusion
Dans ce chapitre, nous avons abordé l’Analyse en Composantes Principales. Nous avons commencé par expliquer les objectifs de l’ACP, et les problèmes qu’elle tente de résoudre. Nous avons essayé de donner l’intuition derrière l’ACP, puis nous avons donné la preuve formelle que les vecteurs propres de la matrice de données sous-jacente au nuage de points analysé correspondent aux axes principaux de l’ACP. Nous avons proposé de réaliser une ACP sur un exemple afin d’assimiler les concepts théoriques et de montrer comment Microsoft Azure ML facilite l’application d’une ACP.