Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Зниження Розмірності Даних до 2D/3D та Візуалізація за Допомогою Matplotlib | Реалізація PCA в Python
Зменшення Розмірності за Допомогою PCA

bookЗниження Розмірності Даних до 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()
copy

2D-діаграма розсіювання показує, як зразки розподілені вздовж перших двох головних компонент, часто виявляючи кластери, що відповідають різним класам. 3D-графік може забезпечити ще більшу роздільність, якщо третя компонента містить значну дисперсію. Така візуалізація дозволяє отримати уявлення про те, наскільки добре PCA відображає основну структуру вашого набору даних і чи доцільне подальше зменшення розмірності для вашого аналізу.

question mark

Що зазвичай означає, якщо зразки з різних класів утворюють окремі кластери на 2D або 3D графіку PCA для набору даних?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

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

bookЗниження Розмірності Даних до 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()
copy

2D-діаграма розсіювання показує, як зразки розподілені вздовж перших двох головних компонент, часто виявляючи кластери, що відповідають різним класам. 3D-графік може забезпечити ще більшу роздільність, якщо третя компонента містить значну дисперсію. Така візуалізація дозволяє отримати уявлення про те, наскільки добре PCA відображає основну структуру вашого набору даних і чи доцільне подальше зменшення розмірності для вашого аналізу.

question mark

Що зазвичай означає, якщо зразки з різних класів утворюють окремі кластери на 2D або 3D графіку PCA для набору даних?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3
some-alt