Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Pré-Processamento de Dados Eficiente com Pipelines | Pipelines
Introdução ao ML com Scikit-learn

bookPré-Processamento de Dados Eficiente com Pipelines

Com a capacidade de transformar colunas separadamente usando a função make_column_transformer, o próximo passo é construir pipelines. Um pipeline é um contêiner que organiza etapas de pré-processamento e as aplica sequencialmente.

Um pipeline no Scikit-learn pode ser criado utilizando tanto o construtor da classe Pipeline quanto a função make_pipeline do módulo sklearn.pipeline. Este curso irá focar em make_pipeline, pois é mais simples de aplicar.

Basta passar todos os transformadores como argumentos para uma função. Criar pipelines é simples assim.

No entanto, ao chamar o método .fit_transform(X) no objeto Pipeline, ele aplica .fit_transform(X) a cada transformador dentro do pipeline, portanto, se desejar tratar algumas colunas de forma diferente, deve-se utilizar um ColumnTransformer e passá-lo para o make_pipeline().

Construa um pipeline utilizando o mesmo arquivo do capítulo anterior. O pipeline deve incluir codificadores para variáveis categóricas juntamente com o SimpleImputer. Como o conjunto de dados contém tanto variáveis nominais quanto ordinais, utilize um ColumnTransformer para processá-las separadamente.

1234567891011121314151617
import pandas as pd from sklearn.compose import make_column_transformer from sklearn.preprocessing import OneHotEncoder, OrdinalEncoder from sklearn.impute import SimpleImputer from sklearn.pipeline import make_pipeline df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/exams.csv') # Making a column transformer edu_categories = ['high school', 'some high school', 'some college', "associate's degree", "bachelor's degree", "master's degree"] ct = make_column_transformer( (OrdinalEncoder(categories=[edu_categories]), ['parental level of education']), (OneHotEncoder(), ['gender', 'race/ethnicity', 'lunch', 'test preparation course']), remainder='passthrough' ) # Making a Pipeline pipe = make_pipeline(ct, SimpleImputer(strategy='most_frequent')) print(pipe.fit_transform(df))
copy
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 3

Pergunte à IA

expand

Pergunte à IA

ChatGPT

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

Awesome!

Completion rate improved to 3.13

bookPré-Processamento de Dados Eficiente com Pipelines

Deslize para mostrar o menu

Com a capacidade de transformar colunas separadamente usando a função make_column_transformer, o próximo passo é construir pipelines. Um pipeline é um contêiner que organiza etapas de pré-processamento e as aplica sequencialmente.

Um pipeline no Scikit-learn pode ser criado utilizando tanto o construtor da classe Pipeline quanto a função make_pipeline do módulo sklearn.pipeline. Este curso irá focar em make_pipeline, pois é mais simples de aplicar.

Basta passar todos os transformadores como argumentos para uma função. Criar pipelines é simples assim.

No entanto, ao chamar o método .fit_transform(X) no objeto Pipeline, ele aplica .fit_transform(X) a cada transformador dentro do pipeline, portanto, se desejar tratar algumas colunas de forma diferente, deve-se utilizar um ColumnTransformer e passá-lo para o make_pipeline().

Construa um pipeline utilizando o mesmo arquivo do capítulo anterior. O pipeline deve incluir codificadores para variáveis categóricas juntamente com o SimpleImputer. Como o conjunto de dados contém tanto variáveis nominais quanto ordinais, utilize um ColumnTransformer para processá-las separadamente.

1234567891011121314151617
import pandas as pd from sklearn.compose import make_column_transformer from sklearn.preprocessing import OneHotEncoder, OrdinalEncoder from sklearn.impute import SimpleImputer from sklearn.pipeline import make_pipeline df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/exams.csv') # Making a column transformer edu_categories = ['high school', 'some high school', 'some college', "associate's degree", "bachelor's degree", "master's degree"] ct = make_column_transformer( (OrdinalEncoder(categories=[edu_categories]), ['parental level of education']), (OneHotEncoder(), ['gender', 'race/ethnicity', 'lunch', 'test preparation course']), remainder='passthrough' ) # Making a Pipeline pipe = make_pipeline(ct, SimpleImputer(strategy='most_frequent')) print(pipe.fit_transform(df))
copy
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

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