Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Reducera Data till 2D/3D och Visualisera med Matplotlib | Implementering av PCA i Python
Dimensionsreduktion med PCA

bookReducera Data till 2D/3D och Visualisera med Matplotlib

Visualisering av data med de första två eller tre huvudkomponenterna hjälper till att identifiera mönster och kluster som är dolda i högdimensionella utrymmen. Genom att projicera data på dessa komponenter kan grupperingarna som avslöjar datastrukturens struktur observeras. Detta är särskilt användbart för dataset som Iris, där en reduktion till 2D eller 3D gör det enklare att särskilja klasser och förstå data visuellt.

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-spridningsdiagrammet visar hur proverna är fördelade längs de två första huvudkomponenterna, vilket ofta avslöjar kluster som motsvarar olika klasser. 3D-diagrammet kan ge ännu tydligare separation om den tredje komponenten tillför betydande varians. Genom att visualisera data på detta sätt erhålls insikter om hur väl PCA fångar datasetets grundläggande struktur och om ytterligare dimensionsreduktion kan vara lämplig för analysen.

question mark

Vad indikerar det vanligtvis om prover från olika klasser bildar distinkta kluster i ett 2D- eller 3D-PCA-diagram av en datamängd

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Awesome!

Completion rate improved to 8.33

bookReducera Data till 2D/3D och Visualisera med Matplotlib

Svep för att visa menyn

Visualisering av data med de första två eller tre huvudkomponenterna hjälper till att identifiera mönster och kluster som är dolda i högdimensionella utrymmen. Genom att projicera data på dessa komponenter kan grupperingarna som avslöjar datastrukturens struktur observeras. Detta är särskilt användbart för dataset som Iris, där en reduktion till 2D eller 3D gör det enklare att särskilja klasser och förstå data visuellt.

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-spridningsdiagrammet visar hur proverna är fördelade längs de två första huvudkomponenterna, vilket ofta avslöjar kluster som motsvarar olika klasser. 3D-diagrammet kan ge ännu tydligare separation om den tredje komponenten tillför betydande varians. Genom att visualisera data på detta sätt erhålls insikter om hur väl PCA fångar datasetets grundläggande struktur och om ytterligare dimensionsreduktion kan vara lämplig för analysen.

question mark

Vad indikerar det vanligtvis om prover från olika klasser bildar distinkta kluster i ett 2D- eller 3D-PCA-diagram av en datamängd

Select the correct answer

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 3
some-alt