Reducera 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()
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.
Tack för dina kommentarer!
Fråga AI
Fråga AI
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
Reducera 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()
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.
Tack för dina kommentarer!