Maison  >  Article  >  développement back-end  >  Analyse en composantes principales à l'aide de Python

Analyse en composantes principales à l'aide de Python

WBOY
WBOYavant
2023-09-04 17:17:051792parcourir

Analyse en composantes principales à laide de Python

Présentation

L'analyse en composantes principales (ACP) est une technique statistique largement utilisée pour la réduction de dimensionnalité et l'extraction de caractéristiques dans l'analyse de données. Il fournit un cadre puissant pour révéler des modèles et des structures sous-jacentes dans des ensembles de données de grande dimension. Avec l’avènement d’un grand nombre de bibliothèques et d’outils en Python, la mise en œuvre de PCA est devenue facile et simple. Dans cet article, nous examinerons l'analyse des composantes principales en Python, en passant en revue sa théorie, sa mise en œuvre et ses applications pratiques.

Nous passerons en revue les étapes de réalisation d'une PCA à l'aide d'outils Python populaires tels que NumPy et scikitlearn. En étudiant la PCA, vous apprendrez à réduire la dimensionnalité d'un ensemble de données, à extraire des fonctionnalités importantes et à afficher des données complexes dans un espace de faible dimension.

Comprendre l'analyse en composantes principales

Utilisez une méthode statistique appelée analyse en composantes principales pour transformer statistiquement un ensemble de données en un nouvel ensemble de variables appelées composantes principales. Les combinaisons linéaires des variables initiales qui composent ces composants sont disposées en fonction de leur corrélation. Chaque composante suivante explique autant que possible la variation restante, la première composante principale capturant la plus grande variation dans les données.

Les mathématiques derrière PCA

De nombreuses idées et calculs mathématiques sont utilisés en PCA. Voici les opérations clés pour réaliser le PCA :

  • Standardisation : les attributs d'un ensemble de données doivent être standardisés afin qu'ils aient une variance unitaire et une moyenne nulle. La contribution de chaque variable à l’ACP est ainsi équilibrée.

  • Matrice de covariance : Afin de comprendre comment les différentes variables de l'ensemble de données sont liées les unes aux autres, une matrice de covariance est générée. Il mesure comment les changements dans une variable affectent les changements dans une autre variable.

  • Décomposition propre : La matrice de covariance est décomposée en ses vecteurs propres et valeurs propres. Les vecteurs propres représentent des directions ou des composantes principales, tandis que les valeurs propres quantifient la quantité de variance expliquée par chaque vecteur propre.

  • Sélection des composantes principales : Sélectionnez le vecteur propre correspondant à la valeur propre la plus élevée comme composante principale. Ces composants capturent la variance la plus significative dans les données.

  • Projection : projetez l'ensemble de données d'origine sur un nouveau sous-espace couvert par les composants principaux sélectionnés. Cette transformation réduit la dimensionnalité de l'ensemble de données tout en préservant les informations essentielles.

Implémentation de PCA en Python

Exemple

import numpy as np 
from sklearn.decomposition import PCA 
 
# Sample data 
X = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]) 
 
# Instantiate PCA with desired number of components 
pca = PCA(n_components=2) 
 
# Fit and transform the data 
X_pca = pca.fit_transform(X) 
 
# Print the transformed data 
print(X_pca) 

Sortie

[[-7.79422863  0.        ] 
 [-2.59807621  0.        ] 
 [ 2.59807621  0.        ] 
 [ 7.79422863 -0.        ]] 

Avantages du PCA

  • Extraction de fonctionnalités : PCA peut également être utilisée pour extraire des fonctionnalités. Nous pouvons isoler les caractéristiques les plus instructives d'un ensemble de données en sélectionnant un sous-ensemble de composants principaux (c'est-à-dire les variables transformées générées par PCA). Cette approche permet de réduire le nombre de variables utilisées pour représenter les données tout en gardant intacts les détails les plus importants. L'extraction de fonctionnalités à l'aide de PCA peut être particulièrement utile lorsque vous travaillez avec des ensembles de données présentant des corrélations élevées entre les fonctionnalités brutes ou lorsqu'il existe de nombreuses fonctionnalités en double ou non pertinentes.

  • Visualisation des données : PCA peut réaliser la visualisation de données de haute dimension dans un espace de faible dimension. En traçant les composants principaux représentant les variables transformées, des modèles, des clusters ou des relations entre les points de données peuvent être observés. Cette visualisation permet de comprendre la structure et les caractéristiques de l'ensemble de données. En réduisant les données à deux ou trois dimensions, la PCA peut créer des tracés et des graphiques perspicaces qui facilitent l'exploration des données, la reconnaissance des formes et l'identification des valeurs aberrantes.

  • Réduction du bruit : le composant principal qui capture le plus faible degré de variance ou de fluctuation dans les données peut parfois être appelé bruit. Afin de débruiter les données et de se concentrer sur les informations les plus importantes, l’ACP peut aider en excluant certaines composantes de l’étude. Grâce à ce processus de filtrage, les modèles et relations sous-jacents dans l'ensemble de données peuvent être mieux compris. Lorsque vous travaillez avec des ensembles de données bruyants ou sales, le débruitage à l'aide de PCA est particulièrement utile lorsque vous devez séparer les signaux importants du bruit.

  • Détection de multicolinéarité : La multicolinéarité se produit lorsque les variables indépendantes de l'ensemble de données sont significativement corrélées. L'ACP peut aider à identifier la multicolinéarité en évaluant les modèles de corrélation des composants principaux. Il est possible d'identifier les variables à l'origine de la multicolinéarité en examinant les connexions entre les composants. Connaître ces informations peut être bénéfique à l'analyse des données, car la multicolinéarité peut conduire à une instabilité du modèle et à une interprétation incorrecte des liens entre les variables. En abordant les problèmes de multicolinéarité (par exemple, via la sélection de variables ou des changements de modèle), les analyses peuvent être rendues plus fiables et plus résilientes.

Exemple pratique de PCA

L'analyse en composantes principales (ACP) est une technique générale qui trouve des applications dans divers domaines. Explorons quelques exemples concrets où la PCA peut être utile :

  • Compression d'image : PCA est une technique qui compresse les données visuelles tout en préservant les détails clés. En compression d'image, la PCA peut être utilisée pour convertir des données de pixels de grande dimension en une représentation de basse dimension. En utilisant un ensemble plus petit de composants principaux pour exprimer une image, nous pouvons réduire considérablement les besoins de stockage sans sacrifier la qualité visuelle. Les méthodes de compression d'images basées sur PCA ont été largement utilisées dans diverses applications, notamment le stockage multimédia, la transmission et le traitement d'images.

  • Génétique et bioinformatique : Les chercheurs en génome et bioinformatique utilisent souvent la PCA pour évaluer les données d'expression génique, trouver des marqueurs génétiques et examiner les modèles de population. Dans l'analyse de l'expression génique, les profils d'expression génique de grande dimension peuvent être compressés en un plus petit nombre de composants principaux. Cette réduction facilite la visualisation et la compréhension des schémas sous-jacents et des connexions entre les gènes. Les méthodes bioinformatiques basées sur la PCA améliorent le diagnostic des maladies, la découverte de médicaments et les traitements personnalisés.

  • Analyse financière : L'analyse financière utilise la PCA à diverses fins, notamment l'optimisation du portefeuille et la gestion des risques. L'analyse en composantes principales (ACP) peut être utilisée pour trouver les principales composantes d'un portefeuille qui capturent les plus grandes différences dans les rendements des actifs. PCA aide à identifier les facteurs cachés qui déterminent les rendements des actifs et à quantifier leur impact sur le risque et la performance du portefeuille en réduisant la dimensionnalité des variables financières. En finance, les méthodes basées sur l'ACP sont utilisées dans l'analyse factorielle, la modélisation des risques et l'allocation d'actifs.

  • Vision par ordinateur : Les tâches de vision par ordinateur telles que la reconnaissance d'objets et de visages reposent fortement sur la PCA. La PCA peut être utilisée pour extraire les principales composantes des images faciales et représenter les visages dans des sous-espaces de faible dimension en reconnaissance faciale. Les méthodes basées sur PCA fournissent des systèmes efficaces de reconnaissance faciale et d’authentification en collectant les caractéristiques faciales clés. Afin de réduire la dimensionnalité des descripteurs d’images et d’améliorer l’efficacité et la précision des algorithmes de reconnaissance, la PCA est également utilisée dans la reconnaissance d’objets.

Conclusion

L'analyse en composantes principales (ACP) est une méthode puissante pour la réduction de dimensionnalité, l'extraction de caractéristiques et l'exploration de données. Il permet de réduire les données de grande dimension dans un espace de dimension inférieure sans perdre les détails les plus critiques. Dans cet article, nous présentons l'idée de base de PCA, son implémentation en Python à l'aide de scikit-learn et ses applications dans divers domaines. Les analystes et les data scientists peuvent utiliser la PCA pour améliorer la visualisation des données, rationaliser les activités de modélisation et extraire des informations utiles à partir d'ensembles de données volumineux et complexes. La boîte à outils d'un data scientist doit inclure la PCA, qui est fréquemment utilisée pour l'ingénierie des fonctionnalités, l'analyse exploratoire des données et le prétraitement des données.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer