Рассмотрим легкий и эффективный способ объединения преобразований в цепочки. Загрузим тренировочный датасет:
Разобьем данные на тренировочный и тестовый наборы:
Теперь предскажем значения target с использованием линейной регрессии (Ridge) и посчитаем ошибки (абсолютную и процентную):
Так как для модели линейной регрессии желательно нормализовать признаки, применим StandardScaler, но включим его в качестве промежуточного шага в экземпляр класса Pipeline:
В Pipeline задается цепочка трансформаторов, после которых идет оценщик (фактически наша модель). Метод fit приводит к последовательному вызову fit, transform каждого трансформатора и только fit для оценщика. А predict - вызывает последовательность вызовов transform трансформаторов и predict оценщика.
Можно в качестве первого шага также задать композитную трансформацию колонок, например, категориальный столбец 'sex' не требует нормализации, зато его следует закодировать:
Теперь перепишем последнюю ячейку вручную, чтобы лучше понимать, что происходит внутри:
предобработка:
и предсказание:
Полезные ссылки:
Композитная трансформация колонок