Reducción de Datos a 2D/3D y Visualización con Matplotlib
Visualizar los datos con los dos o tres primeros componentes principales permite identificar patrones y agrupaciones que permanecen ocultos en espacios de alta dimensión. Al proyectar los datos sobre estos componentes, es posible observar agrupaciones que revelan la estructura del conjunto de datos. Esto resulta especialmente útil para conjuntos como Iris, donde la reducción a 2D o 3D facilita la distinción entre clases y la comprensión visual de los datos.
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()
El gráfico de dispersión 2D muestra cómo se distribuyen las muestras a lo largo de los dos primeros componentes principales, revelando con frecuencia agrupaciones que corresponden a diferentes clases. El gráfico 3D puede proporcionar una separación aún mayor si el tercer componente añade varianza significativa. Al visualizar los datos de esta manera, se obtiene información sobre la capacidad de PCA para capturar la estructura esencial del conjunto de datos y sobre si una reducción adicional de la dimensionalidad podría ser adecuada para el análisis.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 8.33
Reducción de Datos a 2D/3D y Visualización con Matplotlib
Desliza para mostrar el menú
Visualizar los datos con los dos o tres primeros componentes principales permite identificar patrones y agrupaciones que permanecen ocultos en espacios de alta dimensión. Al proyectar los datos sobre estos componentes, es posible observar agrupaciones que revelan la estructura del conjunto de datos. Esto resulta especialmente útil para conjuntos como Iris, donde la reducción a 2D o 3D facilita la distinción entre clases y la comprensión visual de los datos.
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()
El gráfico de dispersión 2D muestra cómo se distribuyen las muestras a lo largo de los dos primeros componentes principales, revelando con frecuencia agrupaciones que corresponden a diferentes clases. El gráfico 3D puede proporcionar una separación aún mayor si el tercer componente añade varianza significativa. Al visualizar los datos de esta manera, se obtiene información sobre la capacidad de PCA para capturar la estructura esencial del conjunto de datos y sobre si una reducción adicional de la dimensionalidad podría ser adecuada para el análisis.
¡Gracias por tus comentarios!