Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Estimador Final | Pipelines
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Introdução ao Aprendizado de Máquina com Python

bookEstimador Final

Pipeline foi utilizado anteriormente para pré-processamento, mas seu verdadeiro propósito é encadear o pré-processamento com um preditor final. A última etapa em um pipeline pode ser qualquer estimador (tipicamente um modelo) que produza previsões.

Note
Nota

Ao chamar .fit(), cada transformador executa .fit_transform(). Ao chamar .predict(), o pipeline utiliza .transform() antes de enviar os dados para o estimador final. Isso é necessário porque novos dados devem ser transformados exatamente como os dados de treinamento.

Por que .transform()?

Utilizar .fit_transform() em novos dados pode alterar codificações (por exemplo, em OneHotEncoder), criando colunas incompatíveis e previsões não confiáveis. .transform() garante pré-processamento consistente, ignorando categorias não vistas e mantendo a mesma ordem das colunas.

Veja como os dados de treinamento codificados com one-hot aparecem:

Veja as novas instâncias para previsão:

Se .fit_transform() fosse aplicado a novas instâncias, o OneHotEncoder poderia gerar colunas em uma ordem diferente ou até mesmo introduzir novas colunas. Isso faria com que os novos dados fossem transformados de forma inconsistente com o conjunto de treinamento, tornando as previsões não confiáveis.

No entanto, o uso de .transform() garante que os novos dados sejam codificados exatamente como os dados de treinamento, ignorando categorias não vistas durante o treinamento:

Adicionando o Estimador Final

Basta adicionar o modelo como o último passo do pipeline:

pipe = make_pipeline(
    ct,
    SimpleImputer(strategy='most_frequent'),
    StandardScaler(),
    KNeighborsClassifier()
)
pipe.fit(X, y)
pipe.predict(X_new)

Isso permite que todo o fluxo de trabalho—pré-processamento + predição—seja executado com uma única chamada.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

bookEstimador Final

Deslize para mostrar o menu

Pipeline foi utilizado anteriormente para pré-processamento, mas seu verdadeiro propósito é encadear o pré-processamento com um preditor final. A última etapa em um pipeline pode ser qualquer estimador (tipicamente um modelo) que produza previsões.

Note
Nota

Ao chamar .fit(), cada transformador executa .fit_transform(). Ao chamar .predict(), o pipeline utiliza .transform() antes de enviar os dados para o estimador final. Isso é necessário porque novos dados devem ser transformados exatamente como os dados de treinamento.

Por que .transform()?

Utilizar .fit_transform() em novos dados pode alterar codificações (por exemplo, em OneHotEncoder), criando colunas incompatíveis e previsões não confiáveis. .transform() garante pré-processamento consistente, ignorando categorias não vistas e mantendo a mesma ordem das colunas.

Veja como os dados de treinamento codificados com one-hot aparecem:

Veja as novas instâncias para previsão:

Se .fit_transform() fosse aplicado a novas instâncias, o OneHotEncoder poderia gerar colunas em uma ordem diferente ou até mesmo introduzir novas colunas. Isso faria com que os novos dados fossem transformados de forma inconsistente com o conjunto de treinamento, tornando as previsões não confiáveis.

No entanto, o uso de .transform() garante que os novos dados sejam codificados exatamente como os dados de treinamento, ignorando categorias não vistas durante o treinamento:

Adicionando o Estimador Final

Basta adicionar o modelo como o último passo do pipeline:

pipe = make_pipeline(
    ct,
    SimpleImputer(strategy='most_frequent'),
    StandardScaler(),
    KNeighborsClassifier()
)
pipe.fit(X, y)
pipe.predict(X_new)

Isso permite que todo o fluxo de trabalho—pré-processamento + predição—seja executado com uma única chamada.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 5
some-alt