Reduktion af Data til 2D/3D og Visualisering med Matplotlib
Visualisering af data med de første to eller tre hovedkomponenter hjælper med at identificere mønstre og klynger, der er skjult i højdimensionelle rum. Ved at projicere data på disse komponenter kan man se grupperinger, som afslører datasættets struktur. Dette er særligt nyttigt for datasæt som Iris, hvor reduktion til 2D eller 3D gør det lettere at skelne mellem klasser og opnå visuel forståelse af dataene.
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-spredningsdiagrammet viser, hvordan prøverne er fordelt langs de første to hovedkomponenter, hvilket ofte afslører klynger svarende til forskellige klasser. 3D-diagrammet kan give endnu større adskillelse, hvis den tredje komponent bidrager med væsentlig varians. Ved at visualisere dataene på denne måde opnås indsigt i, hvor godt PCA fanger den væsentlige struktur i datasættet, og om yderligere dimensionsreduktion kan være hensigtsmæssig for analysen.
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 8.33
Reduktion af Data til 2D/3D og Visualisering med Matplotlib
Stryg for at vise menuen
Visualisering af data med de første to eller tre hovedkomponenter hjælper med at identificere mønstre og klynger, der er skjult i højdimensionelle rum. Ved at projicere data på disse komponenter kan man se grupperinger, som afslører datasættets struktur. Dette er særligt nyttigt for datasæt som Iris, hvor reduktion til 2D eller 3D gør det lettere at skelne mellem klasser og opnå visuel forståelse af dataene.
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-spredningsdiagrammet viser, hvordan prøverne er fordelt langs de første to hovedkomponenter, hvilket ofte afslører klynger svarende til forskellige klasser. 3D-diagrammet kan give endnu større adskillelse, hvis den tredje komponent bidrager med væsentlig varians. Ved at visualisere dataene på denne måde opnås indsigt i, hvor godt PCA fanger den væsentlige struktur i datasættet, og om yderligere dimensionsreduktion kan være hensigtsmæssig for analysen.
Tak for dine kommentarer!