Що таке конвеєр
Свайпніть щоб показати меню
У попередньому розділі було виконано три етапи попередньої обробки: імпутація, кодування та масштабування.
Кроки попередньої обробки застосовувалися послідовно, трансформуючи окремі стовпці та об'єднуючи їх назад у масив X. Такий підхід може бути незручним, особливо з OneHotEncoder, який змінює кількість стовпців.
Ще одним недоліком є те, що будь-які нові дані для прогнозування повинні проходити через ту ж послідовність трансформацій, що вимагає повторення всього процесу.
Клас Pipeline у Scikit-learn спрощує це, об'єднуючи всі трансформації в єдиний робочий процес, що дозволяє легко та послідовно застосовувати попередню обробку як до навчальних даних, так і до нових прикладів.
Pipeline виступає контейнером для послідовності трансформерів і, зрештою, оцінювача. Коли викликається метод .fit_transform() для Pipeline, він послідовно застосовує метод .fit_transform() кожного трансформера до даних.
# Create a pipeline with three steps: imputation, one-hot encoding, and scaling
pipeline = Pipeline([
('imputer', SimpleImputer(strategy='most_frequent')), # Step 1: Impute missing values
('encoder', OneHotEncoder()), # Step 2: Convert categorical data
('scaler', StandardScaler()) # Step 3: Scale the data
])
# Fit and transform the data using the pipeline
X_transformed = pipeline.fit_transform(X)
Такий спрощений підхід означає, що потрібно викликати .fit_transform() лише один раз для навчальної вибірки, а надалі використовувати метод .transform() для обробки нових прикладів.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат