Інтуїція PCA
Аналіз головних компонент (PCA) — це потужна техніка, яка визначає нові осі — так звані головні компоненти — тобто напрямки у ваших даних, що відображають найбільшу дисперсію.
PCA зберігає ті напрямки, у яких ваші дані змінюються найбільше, оскільки саме вони відображають основні закономірності та структуру.
Уявіть PCA як ліхтарик, що світить на тривимірний об'єкт, і ви розглядаєте тінь на стіні. Кут світла змінює деталізацію тіні. PCA знаходить найкращий кут, щоб тінь, або projection, максимально розкривала форму об'єкта. Аналогічно, PCA проектує ваші дані на нові осі, щоб зберегти якомога більше варіації.
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()
Визначаючи напрямки, у яких ваші дані мають найбільшу варіативність, PCA дозволяє зменшити розмірність, зберігаючи найважливішу інформацію. Зосередження на цих напрямках максимальної дисперсії гарантує, що структура та закономірності у вашому наборі даних залишаються зрозумілими. Це розуміння підготує вас до вивчення математичних основ PCA у наступних розділах.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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?
Awesome!
Completion rate improved to 8.33
Інтуїція PCA
Свайпніть щоб показати меню
Аналіз головних компонент (PCA) — це потужна техніка, яка визначає нові осі — так звані головні компоненти — тобто напрямки у ваших даних, що відображають найбільшу дисперсію.
PCA зберігає ті напрямки, у яких ваші дані змінюються найбільше, оскільки саме вони відображають основні закономірності та структуру.
Уявіть PCA як ліхтарик, що світить на тривимірний об'єкт, і ви розглядаєте тінь на стіні. Кут світла змінює деталізацію тіні. PCA знаходить найкращий кут, щоб тінь, або projection, максимально розкривала форму об'єкта. Аналогічно, PCA проектує ваші дані на нові осі, щоб зберегти якомога більше варіації.
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()
Визначаючи напрямки, у яких ваші дані мають найбільшу варіативність, PCA дозволяє зменшити розмірність, зберігаючи найважливішу інформацію. Зосередження на цих напрямках максимальної дисперсії гарантує, що структура та закономірності у вашому наборі даних залишаються зрозумілими. Це розуміння підготує вас до вивчення математичних основ PCA у наступних розділах.
Дякуємо за ваш відгук!