Reduzierung von Daten auf 2D/3D und Visualisierung mit Matplotlib
Die Visualisierung von Daten mit den ersten zwei oder drei Hauptkomponenten ermöglicht das Erkennen von Mustern und Clustern, die im hochdimensionalen Raum verborgen sind. Durch die Projektion der Daten auf diese Komponenten werden Gruppierungen sichtbar, die die Struktur des Datensatzes offenbaren. Dies ist besonders nützlich bei Datensätzen wie Iris, da die Reduktion auf 2D oder 3D die Unterscheidung zwischen Klassen erleichtert und das Verständnis der Daten visuell unterstützt.
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()
Das 2D-Streudiagramm zeigt, wie die Stichproben entlang der ersten beiden Hauptkomponenten verteilt sind, wobei häufig Cluster sichtbar werden, die unterschiedlichen Klassen entsprechen. Das 3D-Diagramm kann eine noch stärkere Trennung ermöglichen, wenn die dritte Komponente eine signifikante Varianz beiträgt. Durch diese Visualisierung erhält man Einblicke, wie gut PCA die wesentliche Struktur des Datensatzes erfasst und ob eine weitere Dimensionsreduktion für die Analyse sinnvoll sein könnte.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain what principal components are in simple terms?
How do I interpret the clusters in the PCA plots?
What should I do if the classes are not well separated in the PCA visualization?
Awesome!
Completion rate improved to 8.33
Reduzierung von Daten auf 2D/3D und Visualisierung mit Matplotlib
Swipe um das Menü anzuzeigen
Die Visualisierung von Daten mit den ersten zwei oder drei Hauptkomponenten ermöglicht das Erkennen von Mustern und Clustern, die im hochdimensionalen Raum verborgen sind. Durch die Projektion der Daten auf diese Komponenten werden Gruppierungen sichtbar, die die Struktur des Datensatzes offenbaren. Dies ist besonders nützlich bei Datensätzen wie Iris, da die Reduktion auf 2D oder 3D die Unterscheidung zwischen Klassen erleichtert und das Verständnis der Daten visuell unterstützt.
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()
Das 2D-Streudiagramm zeigt, wie die Stichproben entlang der ersten beiden Hauptkomponenten verteilt sind, wobei häufig Cluster sichtbar werden, die unterschiedlichen Klassen entsprechen. Das 3D-Diagramm kann eine noch stärkere Trennung ermöglichen, wenn die dritte Komponente eine signifikante Varianz beiträgt. Durch diese Visualisierung erhält man Einblicke, wie gut PCA die wesentliche Struktur des Datensatzes erfasst und ob eine weitere Dimensionsreduktion für die Analyse sinnvoll sein könnte.
Danke für Ihr Feedback!