Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Réduction des Données en 2D/3D et Visualisation avec Matplotlib | Implémentation de l'ACP en Python
Réduction de Dimensionnalité avec l'ACP

bookRéduction des Données en 2D/3D et Visualisation avec Matplotlib

La visualisation des données à l'aide des deux ou trois premiers composants principaux permet d'identifier des motifs et des regroupements qui restent cachés dans un espace de grande dimension. En projetant les données sur ces composants, il devient possible d'observer des groupements révélant la structure du jeu de données. Cette approche est particulièrement utile pour des jeux de données comme Iris, où la réduction en 2D ou 3D facilite la distinction entre les classes et la compréhension visuelle des données.

123456789101112131415161718192021222324252627282930313233343536
# 2D scatter plot of the first two principal components import matplotlib.pyplot as plt import seaborn as sns from sklearn.decomposition import PCA from sklearn.datasets import load_iris from sklearn.preprocessing import StandardScaler # Load and scale the data data = load_iris() X = data.data X_scaled = StandardScaler().fit_transform(X) # Fit PCA and transform to 2D pca = PCA(n_components=2) X_pca = pca.fit_transform(X_scaled) plt.figure(figsize=(8,6)) sns.scatterplot(x=X_pca[:,0], y=X_pca[:,1], hue=data.target, palette='Set1', s=60) plt.xlabel('Principal Component 1') plt.ylabel('Principal Component 2') plt.title('PCA - Iris Dataset (2D)') plt.legend(title='Species') plt.show() # 3D visualization from mpl_toolkits.mplot3d import Axes3D pca_3d = PCA(n_components=3) X_pca_3d = pca_3d.fit_transform(X_scaled) fig = plt.figure(figsize=(8,6)) ax = fig.add_subplot(111, projection='3d') scatter = ax.scatter(X_pca_3d[:,0], X_pca_3d[:,1], X_pca_3d[:,2], c=data.target, cmap='Set1', s=60) ax.set_xlabel('PC1') ax.set_ylabel('PC2') ax.set_zlabel('PC3') plt.title('PCA - Iris Dataset (3D)') plt.show()
copy

Le nuage de points 2D illustre la répartition des échantillons selon les deux premiers composants principaux, révélant souvent des regroupements correspondant à différentes classes. Le graphique 3D peut offrir une séparation supplémentaire si le troisième composant apporte une variance significative. Cette visualisation permet d'évaluer dans quelle mesure la PCA capture la structure essentielle du jeu de données et si une réduction de dimensionnalité supplémentaire pourrait être pertinente pour l'analyse.

question mark

Que signifie généralement le fait que des échantillons de différentes classes forment des groupes distincts dans un graphique PCA 2D ou 3D d'un jeu de données ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain what principal components are in simple terms?

How do I interpret the clusters in the PCA plots?

What should I do if the classes are not well separated in the PCA visualization?

Awesome!

Completion rate improved to 8.33

bookRéduction des Données en 2D/3D et Visualisation avec Matplotlib

Glissez pour afficher le menu

La visualisation des données à l'aide des deux ou trois premiers composants principaux permet d'identifier des motifs et des regroupements qui restent cachés dans un espace de grande dimension. En projetant les données sur ces composants, il devient possible d'observer des groupements révélant la structure du jeu de données. Cette approche est particulièrement utile pour des jeux de données comme Iris, où la réduction en 2D ou 3D facilite la distinction entre les classes et la compréhension visuelle des données.

123456789101112131415161718192021222324252627282930313233343536
# 2D scatter plot of the first two principal components import matplotlib.pyplot as plt import seaborn as sns from sklearn.decomposition import PCA from sklearn.datasets import load_iris from sklearn.preprocessing import StandardScaler # Load and scale the data data = load_iris() X = data.data X_scaled = StandardScaler().fit_transform(X) # Fit PCA and transform to 2D pca = PCA(n_components=2) X_pca = pca.fit_transform(X_scaled) plt.figure(figsize=(8,6)) sns.scatterplot(x=X_pca[:,0], y=X_pca[:,1], hue=data.target, palette='Set1', s=60) plt.xlabel('Principal Component 1') plt.ylabel('Principal Component 2') plt.title('PCA - Iris Dataset (2D)') plt.legend(title='Species') plt.show() # 3D visualization from mpl_toolkits.mplot3d import Axes3D pca_3d = PCA(n_components=3) X_pca_3d = pca_3d.fit_transform(X_scaled) fig = plt.figure(figsize=(8,6)) ax = fig.add_subplot(111, projection='3d') scatter = ax.scatter(X_pca_3d[:,0], X_pca_3d[:,1], X_pca_3d[:,2], c=data.target, cmap='Set1', s=60) ax.set_xlabel('PC1') ax.set_ylabel('PC2') ax.set_zlabel('PC3') plt.title('PCA - Iris Dataset (3D)') plt.show()
copy

Le nuage de points 2D illustre la répartition des échantillons selon les deux premiers composants principaux, révélant souvent des regroupements correspondant à différentes classes. Le graphique 3D peut offrir une séparation supplémentaire si le troisième composant apporte une variance significative. Cette visualisation permet d'évaluer dans quelle mesure la PCA capture la structure essentielle du jeu de données et si une réduction de dimensionnalité supplémentaire pourrait être pertinente pour l'analyse.

question mark

Que signifie généralement le fait que des échantillons de différentes classes forment des groupes distincts dans un graphique PCA 2D ou 3D d'un jeu de données ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 3
some-alt