Зниження Розмірності Даних до 2D/3D та Візуалізація за Допомогою Matplotlib
Візуалізація даних за допомогою перших двох або трьох головних компонент допомагає виявити закономірності та кластери, приховані у багатовимірному просторі. Проєктуючи дані на ці компоненти, можна побачити групування, які розкривають структуру набору даних. Це особливо корисно для таких наборів даних, як Iris, де зменшення до 2D або 3D полегшує розрізнення класів і сприяє кращому візуальному розумінню даних.
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()
2D-діаграма розсіювання показує, як зразки розподілені вздовж перших двох головних компонент, часто виявляючи кластери, що відповідають різним класам. 3D-графік може забезпечити ще більшу роздільність, якщо третя компонента містить значну дисперсію. Така візуалізація дозволяє отримати уявлення про те, наскільки добре PCA відображає основну структуру вашого набору даних і чи доцільне подальше зменшення розмірності для вашого аналізу.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
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
Зниження Розмірності Даних до 2D/3D та Візуалізація за Допомогою Matplotlib
Свайпніть щоб показати меню
Візуалізація даних за допомогою перших двох або трьох головних компонент допомагає виявити закономірності та кластери, приховані у багатовимірному просторі. Проєктуючи дані на ці компоненти, можна побачити групування, які розкривають структуру набору даних. Це особливо корисно для таких наборів даних, як Iris, де зменшення до 2D або 3D полегшує розрізнення класів і сприяє кращому візуальному розумінню даних.
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()
2D-діаграма розсіювання показує, як зразки розподілені вздовж перших двох головних компонент, часто виявляючи кластери, що відповідають різним класам. 3D-графік може забезпечити ще більшу роздільність, якщо третя компонента містить значну дисперсію. Така візуалізація дозволяє отримати уявлення про те, наскільки добре PCA відображає основну структуру вашого набору даних і чи доцільне подальше зменшення розмірності для вашого аналізу.
Дякуємо за ваш відгук!