А-Я трубопроводов
конвейеры машинного обучения автоматизируют рабочие процессы. Но что это значит? В основном они помогают разработать последовательный поток данных от одного блока оценки / преобразования к другому, пока он не достигнет окончательного алгоритма прогнозирования.
Это гарантирует отсутствие утечки данных между обучающими, тестовыми и проверочными наборами. Конвейер также делает программу более автоматизированной для использования в качестве функционального кода.
Мы рассмотрим 3 различных типа конвейеров в зависимости от сложности шагов:
- Простой конвейер
- Конвейер с настраиваемыми функциями - последовательное приложение
- Конвейер с настраиваемыми селекторами и функциями - параллельное приложение
Давайте посмотрим на разные типы конвейеров в зависимости от сложности приложения:
Простой конвейер
Мы будем использовать поиск по сетке, чтобы настроить гиперпараметры и сгенерировать выходные данные. Для значений сетки параметров напишите имя «шага конвейера», затем 2 ‘_’, а затем гиперпараметр для оптимизации. Это так просто!
Настройка пользовательских функций для преобразований конвейера
Что, если нам нужны пользовательские преобразования для определенных столбцов и вместо них есть функция, которую вы хотите вызвать?
ColumnTransformer - это класс в scikit-learn, который позволяет выборочно применять преобразования подготовки данных. Потребуются имена столбцов, в которых должны выполняться преобразования, и сами преобразователи. Параметр «остаток» указывает, что делать с остальными не упомянутыми столбцами. ColumnTransformer применяет каждое преобразование последовательно
Установка пользовательских селекторов и трансформаторов в конвейерах
Давайте сделаем еще один шаг и скажем, что мы даже не хотим выбирать столбцы заранее. Вместо этого нам нужен конвейер, который сделает выбор за нас. Теперь мы представляем FeatureUnion - он объединяет результаты нескольких параллельных преобразований!
Поскольку конвейеру нужны классы как селекторы, у которых есть подходящие методы преобразования, мы расширим базовые классы BaseEstimator и TransformerMixin.
Мы могли бы применить поиск по сетке, случайный поиск и перекрестную проверку во всех из них! Теперь вы эксперт по трубопроводам ... Поздравляем!
Полный код можно найти здесь.