Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Redução de Dados para 2D/3D e Visualização com Matplotlib | Implementando PCA em Python
Redução de Dimensionalidade com PCA

bookRedução de Dados para 2D/3D e Visualização com Matplotlib

Visualizar dados com os dois ou três primeiros componentes principais auxilia na identificação de padrões e agrupamentos ocultos em espaços de alta dimensão. Ao projetar os dados nesses componentes, é possível observar agrupamentos que revelam a estrutura do conjunto de dados. Isso é especialmente útil para conjuntos como o Iris, onde a redução para 2D ou 3D facilita a distinção entre classes e a compreensão visual dos dados.

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

O gráfico de dispersão 2D mostra como as amostras estão distribuídas ao longo dos dois primeiros componentes principais, frequentemente revelando agrupamentos correspondentes a diferentes classes. O gráfico 3D pode proporcionar ainda mais separação se o terceiro componente adicionar variância significativa. Ao visualizar os dados dessa forma, obtém-se insights sobre o quão bem o PCA está capturando a estrutura essencial do conjunto de dados e se uma redução adicional de dimensionalidade pode ser apropriada para a análise.

question mark

O que normalmente indica quando amostras de diferentes classes formam agrupamentos distintos em um gráfico PCA 2D ou 3D de um conjunto de dados?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 8.33

bookRedução de Dados para 2D/3D e Visualização com Matplotlib

Deslize para mostrar o menu

Visualizar dados com os dois ou três primeiros componentes principais auxilia na identificação de padrões e agrupamentos ocultos em espaços de alta dimensão. Ao projetar os dados nesses componentes, é possível observar agrupamentos que revelam a estrutura do conjunto de dados. Isso é especialmente útil para conjuntos como o Iris, onde a redução para 2D ou 3D facilita a distinção entre classes e a compreensão visual dos dados.

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

O gráfico de dispersão 2D mostra como as amostras estão distribuídas ao longo dos dois primeiros componentes principais, frequentemente revelando agrupamentos correspondentes a diferentes classes. O gráfico 3D pode proporcionar ainda mais separação se o terceiro componente adicionar variância significativa. Ao visualizar os dados dessa forma, obtém-se insights sobre o quão bem o PCA está capturando a estrutura essencial do conjunto de dados e se uma redução adicional de dimensionalidade pode ser apropriada para a análise.

question mark

O que normalmente indica quando amostras de diferentes classes formam agrupamentos distintos em um gráfico PCA 2D ou 3D de um conjunto de dados?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3
some-alt