Auto-Sklearn — это инструмент для автоматизации машинного обучения. Библиотека заменяет использование scikit-learn, базовой библиотеки машинного обучения.
Что такое автоматическое машинное обучение
Автоматическое машинное обучение (AutoML) позволяет автоматизировать процесс дизайна ML-пайплайнов. Это позволяет сократить требуемые ресурсы на процесс отбора оптимальных гиперпараметров модели и на тестирование.
Как работает библиотека
Как и аналоги: Auto-WEKA, AutoKeras и AutoPyTorch, — Auto-sklearn основан на существующей ML-библиотеке scikit-learn. Именно функционал scikit-learn является основой для пространства конфигураций, в котором ищется оптимальная структура пайплайна. Пространство конфигураций позволяет пайплайны, которые состоят из трех шагов:
- предобработка данных;
- предобработка признаков;
- обучение и тестирование модели
Пайплайн может состоять из нескольких шагов предобработки данных (работа с пропущенными значениями и нормализация данных), одного шага предобработки признаков (понижение размерности признаков с PCA) и обучение модели с помощью градиентного бустинга. Пространство конфигураций устроено иерархически со структурой дерева и содержит непрерывные, категориальные и условные гиперпараметры. Для классификации пространство возможных пайплайнов включает в себя 15 классификаторов, 16 методов предобработки признаков и множество методов предобработки входных данных. В текущем релизе библиотеки поиск производится по 153 гиперпараметрам.
Поиск оптимального пайплайна основан на байесовской оптимизации. Байесовская оптимизация включает в себя два механизма:
- Обучение вероятностной модели, которая соотносит гиперпараметры со значениями функции потерь;
- Оптимизация функции подбора гиперпараметров