Introdução
Neste laboratório, exploraremos a configuração e o objeto estimador na biblioteca scikit-learn, uma popular biblioteca de aprendizado de máquina em Python. Aprenderemos sobre conjuntos de dados, representados como matrizes 2D, e como pré-processá-los para scikit-learn. Também exploraremos o conceito de objetos estimador, que são usados para aprender com dados e fazer previsões.
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 de 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 para você prontamente.
Compreendendo Conjuntos de Dados
O scikit-learn representa conjuntos de dados como matrizes 2D, onde o primeiro eixo representa as amostras e o segundo eixo representa as características. Vamos dar uma olhada em um exemplo usando o conjunto de dados iris:
from sklearn import datasets
iris = datasets.load_iris()
data = iris.data
print(data.shape)
Saída:
(150, 4)
O conjunto de dados iris consiste em 150 observações de íris, com cada observação descrita por 4 características. A forma da matriz de dados é (150, 4).
Reformateando Dados
Às vezes, os dados podem não estar inicialmente no formato necessário pelo scikit-learn. Nesses casos, precisamos pré-processar os dados para transformá-los na forma (n_amostras, n_características). Um exemplo de reformatear dados é o conjunto de dados dígitos, que consiste em 1797 imagens 8x8 de dígitos manuscritos:
digits = datasets.load_digits()
print(digits.images.shape)
Saída:
(1797, 8, 8)
Para usar este conjunto de dados com o scikit-learn, precisamos reformatear cada imagem 8x8 em um vetor de características de comprimento 64:
data = digits.images.reshape((digits.images.shape[0], -1))
Objetos Estimator
Objetos Estimator no scikit-learn são usados para aprender com dados e fazer previsões. Eles podem ser algoritmos de classificação, regressão ou agrupamento, ou transformadores que extraem recursos úteis de dados brutos. Vamos criar um exemplo simples de um objeto estimator:
from sklearn.base import BaseEstimator
class Estimator(BaseEstimator):
def __init__(self, param1=0, param2=0):
self.param1 = param1
self.param2 = param2
def fit(self, data):
## Implementação do método fit
pass
estimator = Estimator()
Ajustando Dados
A API principal implementada pelo scikit-learn é o método fit de um objeto estimator. Ele recebe um conjunto de dados (geralmente um array 2D) como entrada. Para ajustar dados com um estimator, podemos chamar o método fit:
estimator.fit(data)
Parâmetros do Estimator
Objetos Estimator podem ter parâmetros que afetam seu comportamento. Esses parâmetros podem ser definidos quando o estimator é instanciado ou modificando o atributo correspondente. Vamos definir alguns parâmetros para nosso exemplo de estimator:
estimator = Estimator(param1=1, param2=2)
print(estimator.param1)
Saída:
1
Parâmetros Estimados
Quando os dados são ajustados com um estimador, os parâmetros são estimados a partir dos dados. Todos os parâmetros estimados são atributos do objeto estimador, terminando com um sublinhado. Por exemplo:
print(estimator.estimated_param_)
Resumo
Neste laboratório, aprendemos sobre conjuntos de dados no scikit-learn, como remodelar dados e o conceito de objetos estimador. Exploramos o ajuste de dados com um estimador, a definição de parâmetros e o acesso a parâmetros estimados. Este entendimento da configuração e do objeto estimador será essencial ao trabalhar com o scikit-learn em tarefas de aprendizado estatístico.