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

bookRedusere Data til 2D/3D og Visualisere med Matplotlib

Visualisering av data med de to eller tre første hovedkomponentene gjør det mulig å identifisere mønstre og klynger som er skjult i høy-dimensjonale rom. Ved å projisere dataene på disse komponentene, kan du se grupperinger som avslører datasettets struktur. Dette er spesielt nyttig for datasett som Iris, der reduksjon til 2D eller 3D gjør det enklere å skille mellom klasser og forstå dataene visuelt.

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øvene er fordelt langs de to første hovedkomponentene, og avslører ofte klynger som tilsvarer ulike klasser. 3D-diagrammet kan gi enda tydeligere separasjon dersom den tredje komponenten tilfører betydelig variasjon. Ved å visualisere dataene på denne måten får du innsikt i hvor godt PCA fanger opp den essensielle strukturen i datasettet, og om ytterligere dimensjonsreduksjon kan være hensiktsmessig for analysen din.

question mark

Hva indikerer det vanligvis hvis prøver fra ulike klasser danner distinkte klynger i et 2D- eller 3D-PCA-plott av et datasett

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 8.33

bookRedusere Data til 2D/3D og Visualisere med Matplotlib

Sveip for å vise menyen

Visualisering av data med de to eller tre første hovedkomponentene gjør det mulig å identifisere mønstre og klynger som er skjult i høy-dimensjonale rom. Ved å projisere dataene på disse komponentene, kan du se grupperinger som avslører datasettets struktur. Dette er spesielt nyttig for datasett som Iris, der reduksjon til 2D eller 3D gjør det enklere å skille mellom klasser og forstå dataene visuelt.

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øvene er fordelt langs de to første hovedkomponentene, og avslører ofte klynger som tilsvarer ulike klasser. 3D-diagrammet kan gi enda tydeligere separasjon dersom den tredje komponenten tilfører betydelig variasjon. Ved å visualisere dataene på denne måten får du innsikt i hvor godt PCA fanger opp den essensielle strukturen i datasettet, og om ytterligere dimensjonsreduksjon kan være hensiktsmessig for analysen din.

question mark

Hva indikerer det vanligvis hvis prøver fra ulike klasser danner distinkte klynger i et 2D- eller 3D-PCA-plott av et datasett

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3
some-alt