Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Riduzione dei Dati a 2D/3D e Visualizzazione con Matplotlib | Implementazione della PCA in Python
Riduzione della Dimensionalità con PCA

bookRiduzione dei Dati a 2D/3D e Visualizzazione con Matplotlib

La visualizzazione dei dati utilizzando i primi due o tre componenti principali consente di individuare pattern e cluster nascosti nello spazio ad alta dimensionalità. Proiettando i dati su questi componenti, è possibile osservare raggruppamenti che rivelano la struttura del dataset. Questo è particolarmente utile per dataset come Iris, dove la riduzione a 2D o 3D facilita la distinzione tra le classi e la comprensione visiva dei dati.

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

Il grafico a dispersione 2D mostra come i campioni sono distribuiti lungo i primi due componenti principali, spesso evidenziando cluster corrispondenti a diverse classi. Il grafico 3D può offrire una separazione ancora maggiore se il terzo componente aggiunge una varianza significativa. Visualizzando i dati in questo modo, si ottengono informazioni su quanto bene il PCA cattura la struttura essenziale del dataset e se una ulteriore riduzione della dimensionalità possa essere appropriata per l'analisi.

question mark

Cosa indica tipicamente il fatto che i campioni di classi diverse formino cluster distinti in un grafico PCA 2D o 3D di un dataset?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

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

bookRiduzione dei Dati a 2D/3D e Visualizzazione con Matplotlib

Scorri per mostrare il menu

La visualizzazione dei dati utilizzando i primi due o tre componenti principali consente di individuare pattern e cluster nascosti nello spazio ad alta dimensionalità. Proiettando i dati su questi componenti, è possibile osservare raggruppamenti che rivelano la struttura del dataset. Questo è particolarmente utile per dataset come Iris, dove la riduzione a 2D o 3D facilita la distinzione tra le classi e la comprensione visiva dei dati.

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

Il grafico a dispersione 2D mostra come i campioni sono distribuiti lungo i primi due componenti principali, spesso evidenziando cluster corrispondenti a diverse classi. Il grafico 3D può offrire una separazione ancora maggiore se il terzo componente aggiunge una varianza significativa. Visualizzando i dati in questo modo, si ottengono informazioni su quanto bene il PCA cattura la struttura essenziale del dataset e se una ulteriore riduzione della dimensionalità possa essere appropriata per l'analisi.

question mark

Cosa indica tipicamente il fatto che i campioni di classi diverse formino cluster distinti in un grafico PCA 2D o 3D di un dataset?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 3. Capitolo 3
some-alt