Intuizione della PCA
L'analisi delle componenti principali (PCA) è una tecnica potente che identifica nuovi assi - chiamati componenti principali - che rappresentano le direzioni nei dati che catturano la maggiore varianza.
La PCA mantiene le direzioni in cui i dati variano maggiormente, poiché queste catturano i principali schemi e la struttura.
Si può pensare alla PCA come a una torcia che illumina un oggetto 3D e ne osserva l'ombra su una parete. L'angolo della luce modifica i dettagli dell'ombra. La PCA trova il miglior angolo affinché l'ombra, o projection, riveli il più possibile la forma dell'oggetto. Allo stesso modo, la PCA proietta i dati su nuovi assi per preservare quanta più variazione possibile.
12345678910111213141516171819202122232425262728293031323334import numpy as np import matplotlib.pyplot as plt # Generate a simple 2D dataset np.random.seed(0) mean = [0, 0] cov = [[3, 2], [2, 2]] # Covariance matrix X = np.random.multivariate_normal(mean, cov, 200) # Compute the mean of the data mean_vector = np.mean(X, axis=0) # Compute the covariance matrix and its eigenvectors cov_matrix = np.cov(X.T) eigenvalues, eigenvectors = np.linalg.eig(cov_matrix) # First principal component (direction of maximum variance) pc1 = eigenvectors[:, np.argmax(eigenvalues)] # Plot the data plt.figure(figsize=(8,6)) plt.scatter(X[:,0], X[:,1], alpha=0.3, label="Data points") plt.quiver( mean_vector[0], mean_vector[1], pc1[0], pc1[1], angles='xy', scale_units='xy', scale=1.5, color='red', width=0.01, label="First principal component" ) plt.xlabel("Feature 1") plt.ylabel("Feature 2") plt.title("Direction of Maximum Variance (First Principal Component)") plt.legend() plt.axis("equal") plt.show()
Identificando le direzioni in cui i dati variano maggiormente, PCA consente di ridurre le dimensioni preservando le informazioni più importanti. Concentrarsi su queste direzioni di massima varianza garantisce che la struttura e i pattern del dataset rimangano chiari. Questa comprensione prepara ad approfondire le basi matematiche della PCA nelle prossime sezioni.
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 the principal components are calculated in PCA?
What does the red arrow in the plot represent?
How does PCA help with dimensionality reduction?
Fantastico!
Completion tasso migliorato a 8.33
Intuizione della PCA
Scorri per mostrare il menu
L'analisi delle componenti principali (PCA) è una tecnica potente che identifica nuovi assi - chiamati componenti principali - che rappresentano le direzioni nei dati che catturano la maggiore varianza.
La PCA mantiene le direzioni in cui i dati variano maggiormente, poiché queste catturano i principali schemi e la struttura.
Si può pensare alla PCA come a una torcia che illumina un oggetto 3D e ne osserva l'ombra su una parete. L'angolo della luce modifica i dettagli dell'ombra. La PCA trova il miglior angolo affinché l'ombra, o projection, riveli il più possibile la forma dell'oggetto. Allo stesso modo, la PCA proietta i dati su nuovi assi per preservare quanta più variazione possibile.
12345678910111213141516171819202122232425262728293031323334import numpy as np import matplotlib.pyplot as plt # Generate a simple 2D dataset np.random.seed(0) mean = [0, 0] cov = [[3, 2], [2, 2]] # Covariance matrix X = np.random.multivariate_normal(mean, cov, 200) # Compute the mean of the data mean_vector = np.mean(X, axis=0) # Compute the covariance matrix and its eigenvectors cov_matrix = np.cov(X.T) eigenvalues, eigenvectors = np.linalg.eig(cov_matrix) # First principal component (direction of maximum variance) pc1 = eigenvectors[:, np.argmax(eigenvalues)] # Plot the data plt.figure(figsize=(8,6)) plt.scatter(X[:,0], X[:,1], alpha=0.3, label="Data points") plt.quiver( mean_vector[0], mean_vector[1], pc1[0], pc1[1], angles='xy', scale_units='xy', scale=1.5, color='red', width=0.01, label="First principal component" ) plt.xlabel("Feature 1") plt.ylabel("Feature 2") plt.title("Direction of Maximum Variance (First Principal Component)") plt.legend() plt.axis("equal") plt.show()
Identificando le direzioni in cui i dati variano maggiormente, PCA consente di ridurre le dimensioni preservando le informazioni più importanti. Concentrarsi su queste direzioni di massima varianza garantisce che la struttura e i pattern del dataset rimangano chiari. Questa comprensione prepara ad approfondire le basi matematiche della PCA nelle prossime sezioni.
Grazie per i tuoi commenti!