Dans les domaines de l'analyse des données et de l'apprentissage automatique, l'analyse en composantes principales (ACP) est un algorithme de réduction de dimensionnalité linéaire couramment utilisé. La PCA réduit la dimensionnalité des données en trouvant les principales composantes des données, améliorant ainsi l'interprétabilité et l'efficacité de calcul des données. Cet article illustrera les principes et les applications de la PCA à travers un exemple Python.
Tout d'abord, nous devons importer des bibliothèques liées à Python, telles que numpy, matplotlib, pandas, sklearn, etc.
import numpy as np import pandas as pd import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA
Ensuite, nous chargeons les données. Ici, nous utilisons l'ensemble de données Iris, qui est un ensemble de données standard de classification et de regroupement, comprenant trois variétés d'iris. Nous utilisons la fonction read_csv() dans la bibliothèque pandas pour lire cet ensemble de données :
data = pd.read_csv('iris.csv')
Maintenant, nous devons normaliser les données. Étant donné que la PCA est calculée sur la base de la matrice de covariance des données, la taille et l'ordre des tailles de la matrice de covariance sont déterminés par l'ampleur de la variation des données. Par conséquent, nous devons normaliser la plage de toutes les fonctionnalités à la même taille avant d'effectuer une analyse PCA. Nous pouvons utiliser StandardScaler de sklearn pour parvenir à la standardisation.
scaler = StandardScaler() data_scaled = scaler.fit_transform(data)
Ensuite, nous pouvons utiliser la méthode cov() dans numpy pour calculer la matrice de covariance des données, qui servira d'entrée à l'algorithme PCA.
cov_matrix = np.cov(data_scaled.T)
Maintenant, nous pouvons utiliser la classe PCA pour trouver les principales composantes des données. Nous pouvons définir le nombre de composants principaux à conserver. Généralement, nous choisissons de conserver un nombre de composants principaux inférieur au nombre de fonctionnalités d’origine. Dans cet exemple nous garderons 2 composants principaux.
pca = PCA(n_components=2) principal_components = pca.fit_transform(data_scaled)
Maintenant, nous pouvons utiliser matplotlib pour tracer les résultats de la PCA. Le graphique obtenu est affiché dans un système de coordonnées bidimensionnel, où la couleur différente de chaque iris indique l'espèce à laquelle il appartient. Dans ce graphique, nous pouvons voir différents types de fleurs d’iris réparties dans différentes directions.
plt.figure(figsize=(8,6)) plt.scatter(principal_components[:,0], principal_components[:,1], c=data['species']) plt.xlabel('Principal Component 1') plt.ylabel('Principal Component 2') plt.show()
À travers cet exemple, nous pouvons voir le principe de fonctionnement et l'application du principe de l'analyse factorielle. La PCA est une technique très utile qui peut être utilisée dans de nombreux domaines tels que la visualisation de données, le filtrage du bruit, l'extraction de fonctionnalités et la compression de données. La PCA est donc un outil indispensable dans le domaine de l’analyse des données et de l’apprentissage automatique.
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!