Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Reducción de Datos a 2D/3D y Visualización con Matplotlib | Implementación de PCA en Python
Reducción de Dimensionalidad con PCA

bookReducció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()
copy

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.

question mark

¿Qué indica típicamente si las muestras de diferentes clases forman agrupamientos distintos en un gráfico PCA 2D o 3D de un conjunto de datos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 8.33

bookReducció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()
copy

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.

question mark

¿Qué indica típicamente si las muestras de diferentes clases forman agrupamientos distintos en un gráfico PCA 2D o 3D de un conjunto de datos?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 3
some-alt