Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Reduktion af Data til 2D/3D og Visualisering med Matplotlib | Implementering af PCA i Python
Dimensionsreduktion med PCA

bookReduktion 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()
copy

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.

question mark

Hvad indikerer det typisk, hvis prøver fra forskellige klasser danner tydelige klynger i et 2D- eller 3D-PCA-diagram af et datasæt

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

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

bookReduktion 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()
copy

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.

question mark

Hvad indikerer det typisk, hvis prøver fra forskellige klasser danner tydelige klynger i et 2D- eller 3D-PCA-diagram af et datasæt

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
some-alt