Maison > développement back-end > Tutoriel Python > Exemples d'analyse factorielle principale en Python

Exemples d'analyse factorielle principale en Python

WBOY
Libérer: 2023-06-10 08:46:36
original
633 Les gens l'ont consulté

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
Copier après la connexion

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')
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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)
Copier après la connexion

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()
Copier après la connexion

À 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal