Redusere 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()
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.
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
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
Redusere 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()
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.
Takk for tilbakemeldingene dine!