Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Ефективна підготовка даних за допомогою конвеєрів | Конвеєри
Вступ до машинного навчання з Python

Ефективна підготовка даних за допомогою конвеєрів

Свайпніть щоб показати меню

Маючи можливість окремо трансформувати стовпці за допомогою функції make_column_transformer, наступним кроком є побудова конвеєрів. Конвеєр — це контейнер, який організовує етапи попередньої обробки та застосовує їх послідовно.

Кроки конвеєра

Конвеєр у Scikit-learn можна створити за допомогою конструктора класу Pipeline або функції make_pipeline з модуля sklearn.pipeline. У цьому курсі основна увага приділяється make_pipeline, оскільки її простіше застосовувати.

make_pipeline

Потрібно лише передати всі трансформери як аргументи до функції. Створення конвеєрів настільки просте.

Однак, коли ви викликаєте метод .fit_transform(X) для об'єкта Pipeline, він застосовує .fit_transform(X) до кожного трансформера всередині конвеєра, тому якщо потрібно обробити деякі стовпці по-іншому, слід використати ColumnTransformer і передати його у make_pipeline().

Робочий процес трансформера

Створення конвеєра з використанням того ж файлу, що й у попередньому розділі. Конвеєр має містити кодувальники для категоріальних ознак разом із SimpleImputer. Оскільки набір даних містить як номінативні, так і порядкові ознаки, використовуйте ColumnTransformer для їх окремої обробки.

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))
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Ефективна підготовка даних за допомогою конвеєрів

Маючи можливість окремо трансформувати стовпці за допомогою функції make_column_transformer, наступним кроком є побудова конвеєрів. Конвеєр — це контейнер, який організовує етапи попередньої обробки та застосовує їх послідовно.

Кроки конвеєра

Конвеєр у Scikit-learn можна створити за допомогою конструктора класу Pipeline або функції make_pipeline з модуля sklearn.pipeline. У цьому курсі основна увага приділяється make_pipeline, оскільки її простіше застосовувати.

make_pipeline

Потрібно лише передати всі трансформери як аргументи до функції. Створення конвеєрів настільки просте.

Однак, коли ви викликаєте метод .fit_transform(X) для об'єкта Pipeline, він застосовує .fit_transform(X) до кожного трансформера всередині конвеєра, тому якщо потрібно обробити деякі стовпці по-іншому, слід використати ColumnTransformer і передати його у make_pipeline().

Робочий процес трансформера

Створення конвеєра з використанням того ж файлу, що й у попередньому розділі. Конвеєр має містити кодувальники для категоріальних ознак разом із SimpleImputer. Оскільки набір даних містить як номінативні, так і порядкові ознаки, використовуйте ColumnTransformer для їх окремої обробки.

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))
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 3. Розділ 3
some-alt