Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 3 · ACP

L'ACP : résumer un nuage de variables

L'Analyse en Composantes Principales (ACP) résume un jeu de données en gardant l'essentiel de l'information. Elle travaille sur une matrice n×pn\times p (pas forcément carrée) : nn individus (lignes), pp variables (colonnes).

Idée : taille, poids, âge sont liés (les gens plus grands pèsent souvent plus). L'ACP cherche les directions où les données varient le plus : les composantes principales PC1, PC2, … Elle « tourne le nuage » pour le regarder selon les axes qui expliquent le plus de variation.

PC1 PC2 PC1 : direction où le nuage varie le plus ; PC2 : ce qui reste, perpendiculaire.

Les étapes

  1. Centrer : Xc=X−moyenneX_c = X - \text{moyenne} (obligatoire).
  2. Réduire (souvent) : diviser par l'écart-type si unités ou échelles différentes.
  3. Matrice de covariance : np.cov(Xs, rowvar=False).
  4. Valeurs propres et vecteurs propres : np.linalg.eig(Cov).
  5. Tri par valeur propre décroissante.
  6. Projection : X_proj = Xc @ vecs : mêmes individus, nouvelles variables PC1, PC2…

Vérifie que tu as compris

Quelle étape est obligatoire avant la matrice de covariance dans l'ACP ?

Matrice de covariance

Elle généralise variance et covariance : sa diagonale contient les variances, le hors-diagonale les covariances, et elle est symétrique. Version normalisée : la matrice de corrélation (np.corrcoef(X, rowvar=False)) : diagonale égale à 1, valeurs entre −1-1 et 11.

Vecteurs propres, valeurs propres

  • vecteur propre : direction de l'axe principal (axe de projection) ;
  • valeur propre λ\lambda : variance expliquée par cet axe, son importance.

PC1 est la direction la plus « longue » du nuage. Part de variance expliquée par l'axe kk : λk∑λ\frac{\lambda_k}{\sum \lambda} (vals / vals.sum()).

Cas 2×2 à la main

Pour C=(abbd)C = \begin{pmatrix} a & b \\ b & d \end{pmatrix} (symétrique), les valeurs propres sont

λ=a+d2±(a−d2)2+b2\lambda = \frac{a+d}{2} \pm \sqrt{\left(\frac{a-d}{2}\right)^2 + b^2}

(rappel de la partie 2 : racines de λ2−(a+d)λ+(ad−b2)=0\lambda^2 - (a+d)\lambda + (ad-b^2) = 0). Un vecteur propre associé à λ\lambda est (b, λ−a)(b,\ \lambda - a), à normaliser. Contrôle utile : λ1+λ2=a+d\lambda_1+\lambda_2 = a+d (la trace).

Vérifie que tu as compris

Une matrice de covariance 2×2 a pour diagonale 73,77 et 131,5. Quelle est la somme de ses deux valeurs propres ?

Exemple du cours : taille et poids

Six individus : [160, 55], [170, 65], [172, 68], [180, 80], [175, 75], [158, 50]. Moyennes : ≈[169,167, 65,5]\approx [169{,}167,\ 65{,}5]. Matrice de covariance (diviseur n−1n-1) :

C≈(73,7797,7097,70131,50)C \approx \begin{pmatrix} 73{,}77 & 97{,}70 \\ 97{,}70 & 131{,}50 \end{pmatrix}

La covariance positive dit que taille et poids augmentent ensemble. Valeurs propres : λ1≈204,51\lambda_1 \approx 204{,}51 et λ2≈0,76\lambda_2 \approx 0{,}76. Variance expliquée : 99,63 %99{,}63\ \% pour PC1 et 0,37 %0{,}37\ \% pour PC2. Vecteurs propres (à un signe près) : PC1 ≈(0,599; 0,801)\approx (0{,}599;\ 0{,}801), PC2 ≈(−0,801; 0,599)\approx (-0{,}801;\ 0{,}599).

Interprétation : PC1 est un axe de « gabarit global » qui résume presque tout ; PC2 capte un contraste résiduel taille/poids. La projection de chaque individu centré (xc,yc)(x_c, y_c) sur PC1 est c=0,599 xc+0,801 ycc = 0{,}599\,x_c + 0{,}801\,y_c.

Combien de composantes garder ?

On regarde la variance expliquée cumulée : PC1 + PC2 ≈80\approx 80-90 %90\ \% est souvent suffisant. Une composante qui explique très peu (par exemple PC3) est du bruit résiduel.

Vérifie que tu as compris

Les valeurs propres d'une ACP sont 204,5 et 0,76. Quelle part de variance PC1 explique-t-elle ?