Що таке конвеєр
Свайпніть щоб показати меню
У попередньому розділі було виконано три етапи попередньої обробки: імпутація, кодування та масштабування.
Кроки попередньої обробки застосовувалися по черзі, трансформуючи окремі стовпці та об'єднуючи їх назад у масив 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() для обробки нових прикладів.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат