Eliminação Recursiva de Características

Beginner

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

Introdução

Neste laboratório, aprenderemos a utilizar a Eliminação Recursiva de Características (RFE) para seleção de características. Usaremos a biblioteca Scikit-Learn em Python para realizar esta tarefa. A seleção de características é uma etapa importante no aprendizado de máquina para melhorar o desempenho do modelo, removendo características irrelevantes ou redundantes.

Dicas da Máquina Virtual

Após o arranque da máquina virtual, clique no canto superior esquerdo para mudar para a aba Notebook para aceder ao Jupyter Notebook para a prática.

Por vezes, pode ser necessário esperar alguns segundos para o Jupyter Notebook terminar de carregar. A validação das operações não pode ser automatizada devido a limitações no Jupyter Notebook.

Se tiver problemas durante o aprendizado, não hesite em contactar o Labby. Forneça feedback após a sessão e resolveremos o problema rapidamente para si.

Carregar o Conjunto de Dados e Dividir os Dados

Primeiro, carregaremos o conjunto de dados de dígitos usando a biblioteca Scikit-Learn. Este conjunto de dados consiste em imagens 8x8 de dígitos de 0 a 9. Cada imagem é representada como um array de 64 características. Dividiremos os dados em características e variáveis-alvo.

from sklearn.datasets import load_digits
digits = load_digits()
X = digits.images.reshape((len(digits.images), -1))
y = digits.target

Criar o Objeto RFE e Ajustar os Dados

Em seguida, criaremos um objeto da classe RFE e ajustaremos os dados a ele. Usaremos um Classificador de Vetores de Suporte (SVC) com um kernel linear como o estimador. Selecionaremos uma característica de cada vez e daremos um passo de cada vez.

from sklearn.svm import SVC
from sklearn.feature_selection import RFE

svc = SVC(kernel="linear", C=1)
rfe = RFE(estimator=svc, n_features_to_select=1, step=1)
rfe.fit(X, y)

Classificar as Características

Após ajustar os dados ao objeto RFE, podemos classificar as características com base em sua importância. Usaremos o atributo ranking_ do objeto RFE para obter as classificações das características. Também redimensionaremos as classificações para corresponder à forma das imagens originais.

ranking = rfe.ranking_.reshape(digits.images[0].shape)

Visualizar as Classificações das Características

Finalmente, plotaremos as classificações das características usando a biblioteca Matplotlib. Usaremos a função matshow() para exibir as classificações como uma imagem. Também adicionaremos uma barra de cores e um título ao gráfico.

import matplotlib.pyplot as plt

plt.matshow(ranking, cmap=plt.cm.Blues)
plt.colorbar()
plt.title("Classificação de pixels com RFE")
plt.show()

Resumo

Neste laboratório, aprendemos como usar a Eliminação Recursiva de Características (RFE) para seleção de características. Usamos a biblioteca Scikit-Learn em Python para carregar o conjunto de dados de dígitos, criar um objeto RFE, ajustar os dados, classificar as características e visualizar as classificações das características.