Estimadores e Pipelines Scikit-learn

Beginner

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

Introdução

Neste laboratório, aprenderemos diferentes maneiras de exibir estimadores e pipelines usando o scikit-learn. Estimadores e pipelines são parte essencial do pacote scikit-learn, permitindo-nos construir e avaliar modelos de machine learning.

Dicas da Máquina Virtual

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

Às 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, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão e resolveremos prontamente o problema para si.

Representação de Texto Compacta

A primeira forma de exibir estimadores é através da representação de texto compacta. Os estimadores apenas mostrarão os parâmetros que foram definidos com valores diferentes dos padrões quando exibidos como uma string. Isto reduz o ruído visual e facilita a identificação das diferenças ao comparar instâncias.

from sklearn.linear_model import LogisticRegression

## Cria uma instância de Regressão Logística com penalidade l1
lr = LogisticRegression(penalty="l1")

## Exibe o estimador
print(lr)

Representação HTML Detalhada

A segunda forma de exibir estimadores é através de uma representação HTML detalhada. Em notebooks, estimadores e pipelines utilizam uma representação HTML detalhada. Isto é particularmente útil para resumir a estrutura de pipelines e outros estimadores compostos, com interatividade para fornecer detalhes.

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import OneHotEncoder, StandardScaler
from sklearn.impute import SimpleImputer
from sklearn.compose import make_column_transformer
from sklearn.linear_model import LogisticRegression

## Cria pipelines para dados numéricos e categóricos
num_proc = make_pipeline(SimpleImputer(strategy="median"), StandardScaler())
cat_proc = make_pipeline(
    SimpleImputer(strategy="constant", fill_value="missing"),
    OneHotEncoder(handle_unknown="ignore"),
)

## Cria um pré-processador que aplica os pipelines numéricos e categóricos a colunas específicas
preprocessor = make_column_transformer(
    (num_proc, ("feat1", "feat3")), (cat_proc, ("feat0", "feat2"))
)

## Cria um pipeline que aplica o pré-processador e a regressão logística
clf = make_pipeline(preprocessor, LogisticRegression())

## Exibe o pipeline
clf

Resumo

Neste laboratório, aprendemos duas maneiras de exibir estimadores e pipelines usando o scikit-learn: representação de texto compacta e representação HTML detalhada. Essas representações podem ser úteis para resumir a estrutura de pipelines e outros estimadores compostos, bem como para comparar diferentes instâncias. Ao utilizar essas técnicas, podemos melhorar nossa compreensão dos modelos de aprendizado de máquina e seu desempenho.