PCA, PCA, PCA, PCA, PCA, PCA

Introduction

L’Analyse en Composantes Principales (ACP ou PCA pour Principal Component Analysis) est une technique de réduction de dimension très utilisée en data science et machine learning. Elle permet de transformer un jeu de données avec de nombreuses variables en un nouvel espace de dimensions plus faibles tout en préservant un maximum d’information.

C’est une méthode non supervisée, souvent utilisée :


Objectifs de la PCA


Fonctionnement de la PCA

La PCA repose sur un changement de base mathématique. Elle projette les données sur un nouvel espace formé par des vecteurs appelés composantes principales.

Étapes clés :

  1. Centrer les données (soustraction de la moyenne).
  2. Calculer la matrice de covariance.
  3. Calculer les vecteurs propres et valeurs propres (décomposition en valeurs singulières ou SVD).
  4. Trier les composantes selon la variance qu’elles expliquent.
  5. Projections : les données sont projetées sur les axes les plus importants.

Illustration simple

Imaginons un jeu de données avec deux variables très corrélées. PCA va les combiner en une nouvelle variable (la première composante principale) qui capture la majorité de la variance. Une seconde composante perpendiculaire (et moins informative) pourra être ignorée si elle n’apporte que peu d’information.


Variance expliquée

L’un des principaux indicateurs de qualité d’une PCA est la variance expliquée par chaque composante.

Exemple : Si les deux premières composantes expliquent 95% de la variance, alors les autres dimensions peuvent souvent être supprimées sans perte significative d’information.


Utilisation de PCA avec Scikit-learn

Voici un exemple simple d’implémentation en Python avec Scikit-learn :

pythonCopierModifierfrom sklearn.decomposition import PCA
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt

# Normalisation des données
X_scaled = StandardScaler().fit_transform(X)

# PCA
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X_scaled)

# Variance expliquée
print(pca.explained_variance_ratio_)

# Visualisation
plt.scatter(X_pca[:, 0], X_pca[:, 1])
plt.xlabel("PC1")
plt.ylabel("PC2")
plt.title("Projection PCA")
plt.show()

Combien de composantes conserver ?

On peut choisir le nombre de composantes à conserver en fixant un seuil de variance cumulée, comme 90% ou 95%. Cela permet de réduire la dimension tout en gardant l’essentiel de l’information.

pythonCopierModifierpca = PCA(n_components=0.95)
X_reduced = pca.fit_transform(X_scaled)

Avantages de la PCA

Réduction de la complexité du modèle
Visualisation plus claire des données
Amélioration des performances des algorithmes de machine learning
Suppression du bruit et des redondances
✅ Fonctionne bien pour les données continues et gaussiennes


Inconvénients de la PCA

❌ Perte d’interprétabilité : les nouvelles variables (PC1, PC2…) ne sont pas directement compréhensibles
❌ Nécessite que les variables soient normalisées (même échelle)
❌ Moins utile si les variables initiales sont déjà peu corrélées
❌ Sensible aux valeurs aberrantes


Applications concrètes


PCA vs autres méthodes de réduction de dimension

MéthodeTypeLinéaire ?Interprétation facile ?Utilisation courante
PCANon supervisée✅ Oui❌ Non✅ Très utilisée
LDASupervisée✅ Oui✅ Oui✅ (classification)
t-SNENon supervisée❌ Non❌ Non✅ (visualisation)
UMAPNon supervisée❌ Non❌ Non✅ (exploration)

Conclusion

La PCA est une technique indispensable dans la boîte à outils du data scientist. Elle permet de simplifier les données, de mieux les visualiser et d’améliorer les performances de modèles tout en luttant contre le surapprentissage. Malgré ses limites (notamment en termes d’interprétation), elle reste une des méthodes les plus utilisées en data science pour la réduction de dimension.

PCA