Aprendizado Supervisionado com Scikit-Learn

Beginner

This tutorial is from open-source community. Access the source code

Introdução

No aprendizado supervisionado, queremos aprender a relação entre dois conjuntos de dados: os dados observados X e uma variável externa y que desejamos prever.
Existem dois tipos principais de problemas de aprendizado supervisionado: classificação e regressão. Na classificação, o objetivo é prever a classe ou categoria de uma observação, enquanto na regressão, o objetivo é prever uma variável-alvo contínua.

Neste laboratório, exploraremos os conceitos de aprendizado supervisionado e como implementá-los usando o scikit-learn, uma popular biblioteca de aprendizado de máquina em Python. Abordaremos tópicos como classificação por vizinho mais próximo, regressão linear e máquinas de vetores de suporte (SVMs).

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ê encontrar 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ê.

Este é um Lab Guiado, que fornece instruções passo a passo para ajudá-lo a aprender e praticar. Siga as instruções cuidadosamente para completar cada etapa e ganhar experiência prática. Dados históricos mostram que este é um laboratório de nível iniciante com uma taxa de conclusão de 94%. Recebeu uma taxa de avaliações positivas de 91% dos estudantes.

Classificação por Vizinho Mais Próximo

Neste passo, exploraremos o conceito de classificação por vizinho mais próximo e como ele pode ser implementado usando o scikit-learn. Usaremos o conjunto de dados iris, que consiste em medições de diferentes flores de íris.

Carregar o Conjunto de Dados Iris
import numpy as np
from sklearn import datasets

iris_X, iris_y = datasets.load_iris(return_X_y=True)
Dividir os Dados em Conjuntos de Treinamento e Teste
np.random.seed(0)
indices = np.random.permutation(len(iris_X))
iris_X_train = iris_X[indices[:-10]]
iris_y_train = iris_y[indices[:-10]]
iris_X_test = iris_X[indices[-10:]]
iris_y_test = iris_y[indices[-10:]]
Criar e Ajustar um Classificador de Vizinho Mais Próximo
from sklearn.neighbors import KNeighborsClassifier

knn = KNeighborsClassifier()
knn.fit(iris_X_train, iris_y_train)
Fazer Predições
predictions = knn.predict(iris_X_test)

Regressão Linear

Neste passo, exploraremos o conceito de regressão linear e como ele pode ser implementado usando o scikit-learn. Usaremos o conjunto de dados de diabetes, que consiste em variáveis fisiológicas de pacientes e sua progressão da doença após um ano.

Carregar o Conjunto de Dados de Diabetes
diabetes_X, diabetes_y = datasets.load_diabetes(return_X_y=True)
diabetes_X_train = diabetes_X[:-20]
diabetes_X_test = diabetes_X[-20:]
diabetes_y_train = diabetes_y[:-20]
diabetes_y_test = diabetes_y[-20:]
Criar e Ajustar um Modelo de Regressão Linear
from sklearn import linear_model

regr = linear_model.LinearRegression()
regr.fit(diabetes_X_train, diabetes_y_train)
Fazer Predições e Calcular Métricas de Desempenho
predictions = regr.predict(diabetes_X_test)
mse = np.mean((predictions - diabetes_y_test)**2)
variance_score = regr.score(diabetes_X_test, diabetes_y_test)

Máquinas de Vetores de Suporte (SVMs)

Neste passo, exploraremos o conceito de máquinas de vetores de suporte (SVMs) e como elas podem ser usadas para tarefas de classificação. As SVMs visam encontrar um hiperplano que separe maximizando os pontos de dados de diferentes classes.

Criar e Ajustar uma SVM Linear
from sklearn import svm

svc = svm.SVC(kernel='linear')
svc.fit(iris_X_train, iris_y_train)
Criar e Ajustar SVMs com Núcleos Diferentes
svc_poly = svm.SVC(kernel='poly', degree=3)
svc_rbf = svm.SVC(kernel='rbf')

svc_poly.fit(iris_X_train, iris_y_train)
svc_rbf.fit(iris_X_train, iris_y_train)

Resumo

Neste laboratório, aprendemos sobre diferentes técnicas de aprendizado supervisionado e como implementá-las usando o scikit-learn. Cobrimos classificação por vizinho mais próximo, regressão linear e máquinas de vetores de suporte (SVMs). Essas técnicas permitem prever variáveis de saída a partir de observações de alta dimensionalidade e classificar dados em diferentes categorias. Ao aplicar essas técnicas a conjuntos de dados do mundo real, podemos obter insights e fazer previsões em diversos domínios, como saúde, finanças e ciências sociais.