Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Estimador Final | Pipelines
ML Introduction with scikit-learn

Estimador FinalEstimador Final

Até o momento, só utilizamos um Pipeline para o pré-processamento. No entanto, na maioria das vezes, esse não é o ponto final. Normalmente, após o pré-processamento, queremos usar esses dados transformados em um Preditor (Modelo). É por isso que a classe Pipeline permite que o passo final seja qualquer estimador, geralmente um preditor. A ilustração a seguir mostra como o Pipeline funciona quando seu último passo é um preditor.

Nota

Quando chamamos o método .fit() de um pipeline, o método .fit_transform() é chamado em todos os transformadores. Mas quando chamamos o método .predict(), o método .transform() é invocado. O método .predict() é usado principalmente para prever novas instâncias, que devem ser transformadas exatamente da mesma forma que o conjunto de treinamento durante o .fit().

Se aplicássemos o método .fit_transform() em vez de .transform() para transformar novas instâncias, o OneHotEncoder poderia criar novas colunas em uma ordem diferente, e os Scalers provavelmente escalariam os dados de maneira um pouco diferente. Como resultado, novas instâncias seriam transformadas de forma diferente do conjunto de treinamento, e a previsão seria pouco confiável. Isso é algo a ter em mente quando você não está usando pipelines. E esse é mais um benefício dos pipelines, pois eles tratam essas etapas automaticamente.

Para usar um estimador final, você apenas precisa adicioná-lo como o último passo do pipeline. Por exemplo, no próximo capítulo, usaremos um modelo KNeighborsClassifier como um estimador final. A sintaxe é a seguinte:

Tudo estava claro?

Seção 3. Capítulo 5
course content

Conteúdo do Curso

ML Introduction with scikit-learn

Estimador FinalEstimador Final

Até o momento, só utilizamos um Pipeline para o pré-processamento. No entanto, na maioria das vezes, esse não é o ponto final. Normalmente, após o pré-processamento, queremos usar esses dados transformados em um Preditor (Modelo). É por isso que a classe Pipeline permite que o passo final seja qualquer estimador, geralmente um preditor. A ilustração a seguir mostra como o Pipeline funciona quando seu último passo é um preditor.

Nota

Quando chamamos o método .fit() de um pipeline, o método .fit_transform() é chamado em todos os transformadores. Mas quando chamamos o método .predict(), o método .transform() é invocado. O método .predict() é usado principalmente para prever novas instâncias, que devem ser transformadas exatamente da mesma forma que o conjunto de treinamento durante o .fit().

Se aplicássemos o método .fit_transform() em vez de .transform() para transformar novas instâncias, o OneHotEncoder poderia criar novas colunas em uma ordem diferente, e os Scalers provavelmente escalariam os dados de maneira um pouco diferente. Como resultado, novas instâncias seriam transformadas de forma diferente do conjunto de treinamento, e a previsão seria pouco confiável. Isso é algo a ter em mente quando você não está usando pipelines. E esse é mais um benefício dos pipelines, pois eles tratam essas etapas automaticamente.

Para usar um estimador final, você apenas precisa adicioná-lo como o último passo do pipeline. Por exemplo, no próximo capítulo, usaremos um modelo KNeighborsClassifier como um estimador final. A sintaxe é a seguinte:

Tudo estava claro?

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