Datan Vähentäminen 2D/3D-Muotoon ja Visualisointi Matplotlibilla
Datan visualisointi kahden tai kolmen ensimmäisen pääkomponentin avulla auttaa havaitsemaan kuvioita ja klustereita, jotka ovat piilossa korkeamman ulottuvuuden avaruudessa. Kun data projisoidaan näille komponenteille, voidaan nähdä ryhmittymiä, jotka paljastavat aineiston rakenteen. Tämä on erityisen hyödyllistä esimerkiksi Iris-aineistolle, jossa ulottuvuuden vähentäminen 2D- tai 3D-muotoon helpottaa luokkien erottamista ja datan visuaalista ymmärtämistä.
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-hajontakuvio näyttää, miten näytteet jakautuvat kahden ensimmäisen pääkomponentin suhteen, ja paljastaa usein klustereita, jotka vastaavat eri luokkia. 3D-kuvio voi tarjota vielä enemmän erottelua, jos kolmas komponentti lisää merkittävää vaihtelua. Tällaisen visualisoinnin avulla saa käsityksen siitä, kuinka hyvin PCA vangitsee aineiston olennaisen rakenteen ja onko lisäulottuvuuksien vähentäminen tarkoituksenmukaista analyysia varten.
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Awesome!
Completion rate improved to 8.33
Datan Vähentäminen 2D/3D-Muotoon ja Visualisointi Matplotlibilla
Pyyhkäise näyttääksesi valikon
Datan visualisointi kahden tai kolmen ensimmäisen pääkomponentin avulla auttaa havaitsemaan kuvioita ja klustereita, jotka ovat piilossa korkeamman ulottuvuuden avaruudessa. Kun data projisoidaan näille komponenteille, voidaan nähdä ryhmittymiä, jotka paljastavat aineiston rakenteen. Tämä on erityisen hyödyllistä esimerkiksi Iris-aineistolle, jossa ulottuvuuden vähentäminen 2D- tai 3D-muotoon helpottaa luokkien erottamista ja datan visuaalista ymmärtämistä.
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-hajontakuvio näyttää, miten näytteet jakautuvat kahden ensimmäisen pääkomponentin suhteen, ja paljastaa usein klustereita, jotka vastaavat eri luokkia. 3D-kuvio voi tarjota vielä enemmän erottelua, jos kolmas komponentti lisää merkittävää vaihtelua. Tällaisen visualisoinnin avulla saa käsityksen siitä, kuinka hyvin PCA vangitsee aineiston olennaisen rakenteen ja onko lisäulottuvuuksien vähentäminen tarkoituksenmukaista analyysia varten.
Kiitos palautteestasi!