Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Preprocesamiento de Datos Eficiente con Pipelines | Sección
Practice
Projects
Quizzes & Challenges
Cuestionarios
Challenges
/
Fundamentos Del Aprendizaje Automático

bookPreprocesamiento de Datos Eficiente con Pipelines

Con la capacidad de transformar columnas por separado utilizando la función make_column_transformer, el siguiente paso es construir pipelines. Un pipeline es un contenedor que organiza los pasos de preprocesamiento y los aplica secuencialmente.

Un pipeline en Scikit-learn puede crearse utilizando el constructor de la clase Pipeline o la función make_pipeline del módulo sklearn.pipeline. Este curso se centrará en make_pipeline, ya que es más sencillo de aplicar.

Solo es necesario pasar todos los transformadores como argumentos a una función. Crear pipelines es así de sencillo.

Sin embargo, cuando se llama al método .fit_transform(X) en el objeto Pipeline, se aplica .fit_transform(X) a cada transformador dentro del pipeline, por lo que si se desea tratar algunas columnas de manera diferente, se debe utilizar un ColumnTransformer y pasarlo a make_pipeline().

Construir un pipeline utilizando el mismo archivo que en el capítulo anterior. El pipeline debe incluir codificadores para características categóricas junto con SimpleImputer. Dado que el conjunto de datos contiene características nominales y ordinales, utilice un ColumnTransformer para procesarlas por separado.

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
question mark

¿Por qué utilizaría un ColumnTransformer dentro de un pipeline?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 19

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

bookPreprocesamiento de Datos Eficiente con Pipelines

Desliza para mostrar el menú

Con la capacidad de transformar columnas por separado utilizando la función make_column_transformer, el siguiente paso es construir pipelines. Un pipeline es un contenedor que organiza los pasos de preprocesamiento y los aplica secuencialmente.

Un pipeline en Scikit-learn puede crearse utilizando el constructor de la clase Pipeline o la función make_pipeline del módulo sklearn.pipeline. Este curso se centrará en make_pipeline, ya que es más sencillo de aplicar.

Solo es necesario pasar todos los transformadores como argumentos a una función. Crear pipelines es así de sencillo.

Sin embargo, cuando se llama al método .fit_transform(X) en el objeto Pipeline, se aplica .fit_transform(X) a cada transformador dentro del pipeline, por lo que si se desea tratar algunas columnas de manera diferente, se debe utilizar un ColumnTransformer y pasarlo a make_pipeline().

Construir un pipeline utilizando el mismo archivo que en el capítulo anterior. El pipeline debe incluir codificadores para características categóricas junto con SimpleImputer. Dado que el conjunto de datos contiene características nominales y ordinales, utilice un ColumnTransformer para procesarlas por separado.

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
question mark

¿Por qué utilizaría un ColumnTransformer dentro de un pipeline?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 19
some-alt