Ефективне Попереднє Опрацювання Даних за Допомогою Конвеєрів
Маючи можливість окремо трансформувати стовпці за допомогою функції make_column_transformer
, наступним кроком є створення конвеєрів. Конвеєр — це контейнер, який організовує етапи попередньої обробки та застосовує їх послідовно.
Конвеєр у Scikit-learn можна створити за допомогою конструктора класу Pipeline
або функції make_pipeline
з модуля sklearn.pipeline
. У цьому курсі основна увага приділяється make_pipeline
, оскільки його простіше застосовувати.
Потрібно лише передати всі трансформатори як аргументи функції. Створення конвеєрів настільки просте.
Однак при виклику методу .fit_transform(X)
для об'єкта Pipeline
, він застосовує .fit_transform(X)
до кожного трансформатора всередині конвеєра, тому якщо потрібно обробляти деякі стовпці по-різному, слід використати ColumnTransformer
і передати його у make_pipeline()
.
Створіть конвеєр, використовуючи той самий файл, що й у попередньому розділі. Конвеєр має містити кодувальники для категоріальних ознак разом із SimpleImputer
. Оскільки набір даних містить як номінативні, так і порядкові ознаки, використовуйте ColumnTransformer
для їх окремої обробки.
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))
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
Awesome!
Completion rate improved to 3.13
Ефективне Попереднє Опрацювання Даних за Допомогою Конвеєрів
Свайпніть щоб показати меню
Маючи можливість окремо трансформувати стовпці за допомогою функції make_column_transformer
, наступним кроком є створення конвеєрів. Конвеєр — це контейнер, який організовує етапи попередньої обробки та застосовує їх послідовно.
Конвеєр у Scikit-learn можна створити за допомогою конструктора класу Pipeline
або функції make_pipeline
з модуля sklearn.pipeline
. У цьому курсі основна увага приділяється make_pipeline
, оскільки його простіше застосовувати.
Потрібно лише передати всі трансформатори як аргументи функції. Створення конвеєрів настільки просте.
Однак при виклику методу .fit_transform(X)
для об'єкта Pipeline
, він застосовує .fit_transform(X)
до кожного трансформатора всередині конвеєра, тому якщо потрібно обробляти деякі стовпці по-різному, слід використати ColumnTransformer
і передати його у make_pipeline()
.
Створіть конвеєр, використовуючи той самий файл, що й у попередньому розділі. Конвеєр має містити кодувальники для категоріальних ознак разом із SimpleImputer
. Оскільки набір даних містить як номінативні, так і порядкові ознаки, використовуйте ColumnTransformer
для їх окремої обробки.
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))
Дякуємо за ваш відгук!