машинное обучение
August 16, 2021

Галопом по автосборке AI модели с LightAutoML

В этой статье расскажу о ключевых принципах построения системы машинного обучения, используя одну из реализаций AutoML (авторство Сбера). Она называется LightAutoML и по утверждению авторов отличается скоростью и качеством выполнения задач (на уровне топ 10% решений от data scientist-ов)

В данной библиотеке классы для реализации AutoML в зависимости от задачи называются пресетами (например, для стандартных табличных данных - TabularAutoML, работы с картинками - TabularCVAutoML, текстом - TabularNLPAutoML). В этой статье остановимся на TabularAutoML.

Основными шагами для сборки модели являются создание экземпляра класса и вызов процесса обучения. Для первого потребуется передать вид задачи (Task-а) - регрессия (reg), бинарная (binary) или многоклассовая (multiclass) классификация, а также по желанию функции потерь и метрики. В метод обучения пресета (fit_predict) передается словарь с описание типов столбцов, где обязательным является указание target-а (опционально можем задать типы - категориальный численный, пометить столбцы для удаления).

Рассмотрим практическое применение библиотеки на сгенерированных данных, описывающих доходы и расходы людей:

Далее как раз задаем параметры для TabularAutoML. Также авторы советуют ограничить количество потоков исполнения, чтобы не заполнить ресурсы машины. Параметр general_params - ограничивает количество проверяемых алгоритмов, чтобы сэкономить время (подробнее о параметрах можно прочитать здесь):

Теперь посмотрим на прогнозы и сравним их с тестовыми данными:

Как можно заметить, связь установлена и предсказания происходят достаточно качественно. В целом при изучении библиотеки следует ориентироваться на GitHub страничку и ролики на канале в YouTube.