А-Я трубопроводов

конвейеры машинного обучения автоматизируют рабочие процессы. Но что это значит? В основном они помогают разработать последовательный поток данных от одного блока оценки / преобразования к другому, пока он не достигнет окончательного алгоритма прогнозирования.

Это гарантирует отсутствие утечки данных между обучающими, тестовыми и проверочными наборами. Конвейер также делает программу более автоматизированной для использования в качестве функционального кода.

Мы рассмотрим 3 различных типа конвейеров в зависимости от сложности шагов:

  1. Простой конвейер
  2. Конвейер с настраиваемыми функциями - последовательное приложение
  3. Конвейер с настраиваемыми селекторами и функциями - параллельное приложение

Давайте посмотрим на разные типы конвейеров в зависимости от сложности приложения:

Простой конвейер

Мы будем использовать поиск по сетке, чтобы настроить гиперпараметры и сгенерировать выходные данные. Для значений сетки параметров напишите имя «шага конвейера», затем 2 ‘_’, а затем гиперпараметр для оптимизации. Это так просто!

Настройка пользовательских функций для преобразований конвейера

Что, если нам нужны пользовательские преобразования для определенных столбцов и вместо них есть функция, которую вы хотите вызвать?

ColumnTransformer - это класс в scikit-learn, который позволяет выборочно применять преобразования подготовки данных. Потребуются имена столбцов, в которых должны выполняться преобразования, и сами преобразователи. Параметр «остаток» указывает, что делать с остальными не упомянутыми столбцами. ColumnTransformer применяет каждое преобразование последовательно

Установка пользовательских селекторов и трансформаторов в конвейерах

Давайте сделаем еще один шаг и скажем, что мы даже не хотим выбирать столбцы заранее. Вместо этого нам нужен конвейер, который сделает выбор за нас. Теперь мы представляем FeatureUnion - он объединяет результаты нескольких параллельных преобразований!

Поскольку конвейеру нужны классы как селекторы, у которых есть подходящие методы преобразования, мы расширим базовые классы BaseEstimator и TransformerMixin.

Мы могли бы применить поиск по сетке, случайный поиск и перекрестную проверку во всех из них! Теперь вы эксперт по трубопроводам ... Поздравляем!

Полный код можно найти здесь.