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

bookЕфективне Попереднє Опрацювання Даних за Допомогою Конвеєрів

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

Конвеєр у Scikit-learn можна створити за допомогою конструктора класу Pipeline або функції make_pipeline з модуля sklearn.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))
copy
Все було зрозуміло?

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

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

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

Запитати АІ

expand

Запитати АІ

ChatGPT

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

Awesome!

Completion rate improved to 3.13

bookЕфективне Попереднє Опрацювання Даних за Допомогою Конвеєрів

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

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

Конвеєр у Scikit-learn можна створити за допомогою конструктора класу Pipeline або функції make_pipeline з модуля sklearn.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))
copy
Все було зрозуміло?

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

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

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