Introdução
Este é um laboratório passo a passo para demonstrar o uso do Scikit-learn, uma popular biblioteca de aprendizado de máquina em Python. Usaremos o Conjunto de Dados Iris, que contém informações sobre os atributos físicos de diferentes tipos de flores de íris. O objetivo deste laboratório é mostrar como usar o Scikit-learn para realizar tarefas básicas de aprendizado de máquina, como carregamento de dados, pré-processamento de dados, seleção de recursos e visualização.
Dicas da Máquina Virtual
Após o término da inicialização da máquina virtual, clique no canto superior esquerdo para mudar para a aba Notebook para acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos o problema rapidamente para você.
Importar Bibliotecas
Começaremos importando as bibliotecas necessárias. Neste laboratório, usaremos o Scikit-learn, o NumPy e o Matplotlib.
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn import datasets
from sklearn.decomposition import PCA
Carregar o Conjunto de Dados Iris
Carregaremos o Conjunto de Dados Iris usando a função load_iris embutida do Scikit-learn.
iris = datasets.load_iris()
X = iris.data[:, :2] ## apenas as duas primeiras características são selecionadas.
y = iris.target
Visualizar os Dados
Visualizaremos o Conjunto de Dados Iris usando um gráfico de dispersão. Plotaremos a Comprimento da Sépala contra a Largura da Sépala, e coloriremos os pontos com base em sua classe.
x_min, x_max = X[:, 0].min() - 0.5, X[:, 0].max() + 0.5
y_min, y_max = X[:, 1].min() - 0.5, X[:, 1].max() + 0.5
plt.figure(2, figsize=(8, 6))
plt.clf()
## Plotar os pontos de treinamento
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Set1, edgecolor="k")
plt.xlabel("Comprimento da Sépala")
plt.ylabel("Largura da Sépala")
plt.xlim(x_min, x_max)
plt.ylim(y_min, y_max)
plt.xticks(())
plt.yticks(())
Executar PCA
Executaremos a Análise de Componentes Principais (PCA) para reduzir a dimensionalidade do conjunto de dados. Projetamos os dados nos três primeiros componentes principais e plotamos os resultados em 3D.
fig = plt.figure(1, figsize=(8, 6))
ax = fig.add_subplot(111, projection="3d", elev=-150, azim=110)
X_reduced = PCA(n_components=3).fit_transform(iris.data)
ax.scatter(
X_reduced[:, 0],
X_reduced[:, 1],
X_reduced[:, 2],
c=y,
cmap=plt.cm.Set1,
edgecolor="k",
s=40,
)
ax.set_title("Primeiras três direções PCA")
ax.set_xlabel("1º autovetor")
ax.xaxis.set_ticklabels([])
ax.set_ylabel("2º autovetor")
ax.yaxis.set_ticklabels([])
ax.set_zlabel("3º autovetor")
ax.zaxis.set_ticklabels([])
Resumo
Neste laboratório, aprendemos como carregar o Conjunto de Dados Iris usando o Scikit-learn, visualizar os dados usando o Matplotlib e executar PCA usando o Scikit-learn. Também aprendemos como projetar os dados nos três primeiros componentes principais e visualizar os resultados em 3D.