Visualizzazione della Varianza Spiegata e dei Carichi dei Componenti
Dopo aver adattato la PCA, è importante comprendere quanta informazione (varianza) viene catturata da ciascun componente principale. Il rapporto di varianza spiegata fornisce questa informazione. È inoltre possibile esaminare i carichi dei componenti per vedere come le caratteristiche originali contribuiscono a ciascun componente principale.
1234567891011121314151617181920212223242526272829303132333435import numpy as np import pandas as pd from sklearn.datasets import load_iris from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA import matplotlib.pyplot as plt import seaborn as sns # Load the Iris dataset data = load_iris() X = data.data feature_names = data.feature_names # Standardize features (important for PCA) scaler = StandardScaler() X_scaled = scaler.fit_transform(X) # Apply PCA to reduce to 2 components pca = PCA(n_components=2) X_pca = pca.fit_transform(X_scaled) # Plot explained variance ratio plt.figure(figsize=(6,4)) plt.bar(range(1, len(pca.explained_variance_ratio_)+1), pca.explained_variance_ratio_, alpha=0.7) plt.ylabel('Explained Variance Ratio') plt.xlabel('Principal Component') plt.title('Explained Variance by Principal Components') plt.show() # Display component loadings as a heatmap loadings = pd.DataFrame(pca.components_.T, columns=['PC1', 'PC2'], index=feature_names) plt.figure(figsize=(6,4)) sns.heatmap(loadings, annot=True, cmap='coolwarm') plt.title('Principal Component Loadings') plt.show()
Il grafico a barre mostra la proporzione di varianza spiegata da ciascun componente principale. La mappa di calore visualizza i carichi, che indicano quanto ogni caratteristica originale contribuisce a ciascun componente principale. Valori assoluti elevati indicano che una caratteristica è importante per quel componente.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Can you explain how to interpret the explained variance ratio in PCA?
What do the component loadings tell us about the original features?
How can I decide how many principal components to keep?
Awesome!
Completion rate improved to 8.33
Visualizzazione della Varianza Spiegata e dei Carichi dei Componenti
Scorri per mostrare il menu
Dopo aver adattato la PCA, è importante comprendere quanta informazione (varianza) viene catturata da ciascun componente principale. Il rapporto di varianza spiegata fornisce questa informazione. È inoltre possibile esaminare i carichi dei componenti per vedere come le caratteristiche originali contribuiscono a ciascun componente principale.
1234567891011121314151617181920212223242526272829303132333435import numpy as np import pandas as pd from sklearn.datasets import load_iris from sklearn.preprocessing import StandardScaler from sklearn.decomposition import PCA import matplotlib.pyplot as plt import seaborn as sns # Load the Iris dataset data = load_iris() X = data.data feature_names = data.feature_names # Standardize features (important for PCA) scaler = StandardScaler() X_scaled = scaler.fit_transform(X) # Apply PCA to reduce to 2 components pca = PCA(n_components=2) X_pca = pca.fit_transform(X_scaled) # Plot explained variance ratio plt.figure(figsize=(6,4)) plt.bar(range(1, len(pca.explained_variance_ratio_)+1), pca.explained_variance_ratio_, alpha=0.7) plt.ylabel('Explained Variance Ratio') plt.xlabel('Principal Component') plt.title('Explained Variance by Principal Components') plt.show() # Display component loadings as a heatmap loadings = pd.DataFrame(pca.components_.T, columns=['PC1', 'PC2'], index=feature_names) plt.figure(figsize=(6,4)) sns.heatmap(loadings, annot=True, cmap='coolwarm') plt.title('Principal Component Loadings') plt.show()
Il grafico a barre mostra la proporzione di varianza spiegata da ciascun componente principale. La mappa di calore visualizza i carichi, che indicano quanto ogni caratteristica originale contribuisce a ciascun componente principale. Valori assoluti elevati indicano che una caratteristica è importante per quel componente.
Grazie per i tuoi commenti!