Intuição do PCA
Análise de Componentes Principais (PCA) é uma técnica poderosa que identifica novos eixos - chamados de componentes principais - que são direções nos seus dados que capturam a maior variância.
PCA mantém as direções onde seus dados apresentam maior variância, pois estas capturam os principais padrões e estruturas.
Pense em PCA como iluminar um objeto 3D com uma lanterna e examinar a sombra projetada na parede. O ângulo da luz altera os detalhes da sombra. PCA encontra o melhor ângulo para que a sombra, ou projection, revele o máximo possível sobre o formato do objeto. Da mesma forma, PCA projeta seus dados em novos eixos para preservar o máximo de variação possível.
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()
Ao identificar as direções em que seus dados apresentam maior variação, o PCA permite reduzir as dimensões preservando as informações mais importantes. O foco nessas direções de máxima variância garante que a estrutura e os padrões do seu conjunto de dados permaneçam claros. Esse entendimento prepara você para explorar a fundamentação matemática do PCA nas próximas seções.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
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?
Incrível!
Completion taxa melhorada para 8.33
Intuição do PCA
Deslize para mostrar o menu
Análise de Componentes Principais (PCA) é uma técnica poderosa que identifica novos eixos - chamados de componentes principais - que são direções nos seus dados que capturam a maior variância.
PCA mantém as direções onde seus dados apresentam maior variância, pois estas capturam os principais padrões e estruturas.
Pense em PCA como iluminar um objeto 3D com uma lanterna e examinar a sombra projetada na parede. O ângulo da luz altera os detalhes da sombra. PCA encontra o melhor ângulo para que a sombra, ou projection, revele o máximo possível sobre o formato do objeto. Da mesma forma, PCA projeta seus dados em novos eixos para preservar o máximo de variação possível.
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()
Ao identificar as direções em que seus dados apresentam maior variação, o PCA permite reduzir as dimensões preservando as informações mais importantes. O foco nessas direções de máxima variância garante que a estrutura e os padrões do seu conjunto de dados permaneçam claros. Esse entendimento prepara você para explorar a fundamentação matemática do PCA nas próximas seções.
Obrigado pelo seu feedback!