Pré-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.
1234567891011121314151617import 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))
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.13
Pré-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.
1234567891011121314151617import 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))
Obrigado pelo seu feedback!