Blog ENI : Toute la veille numérique !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Data Science avec Microsoft Azure
  3. Analyse en composantes principales
Extrait - Data Science avec Microsoft Azure Maîtrisez le Machine Learning sur Cortana Intelligence Suite
Extraits du livre
Data Science avec Microsoft Azure Maîtrisez le Machine Learning sur Cortana Intelligence Suite Revenir à la page d'achat du livre

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 images/eq190.PNG.

À 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

images/07EPS01.png

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 ?"

Dans chacun des graphiques ci-dessous, le nuage de points est projeté sur un axe images/eq91.PNG différent. Vous remarquerez que la différence entre les quatre projections se situe au niveau de la taille du segment images/eq196.PNG contenant toute la projection du nuage sur l’axe images/eq91.PNG.
La projection d’un nuage de points sur un axe ne peut que déformer le nuage projeté. Cependant, plus la taille du segment contenant les points projetés est grande, moins le nuage initial est déformé. Dans notre exemple, c’est la projection du graphique (4) qui est la plus intéressante, puisqu’elle contient le segment images/eq196.PNG le plus grand. Intuitivement, la taille du segment images/eq196.PNG correspond à la variabilité...

L’ACP du point de vue analytique

Le premier objectif de l’ACP est de trouver le premier axe images/eq199.PNG le plus proche du nuage de points, voir la figure 7-2 ci-dessus. En d’autres termes, nous recherchons un axe images/eq199.PNG tel que la quantité : images/eq199a.PNG est minimale avec images/eq199b.PNG la distance entre le point images/eq88.PNG et sa projection orthogonale images/eq200.PNG sur l’axe images/eq199.PNG et images/eq16.PNG le nombre de points dans le nuage. En appliquant le théorème de Pythagore, cela revient à maximiser la quantité :
images/eq201.PNG
Car : images/eq202.PNG
Pour maximiser la formule (1), il suffit de trouver un vecteur images/eq203.PNG qui a la même direction que l’axe images/eq199.PNG et qui maximise
images/eq204.PNG
Avec images/eq205.PNG le produit scalaire entre le point images/eq88.PNG et le vecteur images/eq206.PNG.
images/eq207.PNG

En remplaçant (3) dans (2) on obtient :

images/eq208.PNG

Le produit scalaire est symétrique, donc la formule (4) devient :

images/eq209.PNG
Le terme images/eq210.PNG n’est rien d’autre que la matrice de variance/covariance images/eq196.PNG du nuage de point initial, ou la matrice des corrélations si le nuage de points est centré et réduit. Donc la formule (5) devient :
images/eq211.PNG
Le problème modélisé avec la formule (6) est un problème d’optimisation quadratique où images/eq212.PNG sont les inconnues du problème. Ce problème admet une infinité de solutions puisque pour tout vecteur images/eq203.PNG maximisant la formule (6), nous pouvons trouver un autre vecteur images/eq213.PNG qui, lui aussi, maximise la formule (6). Pour n’avoir qu’une seule solution, il suffit de rajouter la contrainte images/eq214.PNG. Cette contrainte permet d’obtenir...

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.

images/07EPS04.png

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.