Яндекс открыл код библиотеки машинного обучения CatBoost
Компания Яндекс объявила об открытии исходных текстов библиотеки машинного обучения CatBoost, которая реализует метод градиентного бустинга на деревьях решений и позиционируется в качестве преемника алгоритма MatrixNet, применяемого в сервисах Яндекса для ранжирования, прогнозирования и формирования рекомендаций. Код библиотеки написан на языке C++ и распространяется под лицензией Apache 2.0. Для библиотеки подготовлены биндинги для языков Python и R, а также инструментарий командной строки и интерфейс визуализации процесса обучения.
В отличие от MatrixNet в CatBoost реализован более универсальный алгоритм, который не ограничивается числовыми данными при обучении модели и подходит для решения более широкого спектра задач, вплоть до банковской сферы и промышленности. В настоящее время CatBoost уже внедрен для ранжирования ленты рекомендаций в zen.yandex.ru и применяется для расчета прогноза погоды в Яндекс Погода. Предлагаемый в CatBoost метод машинного обучения позволяет эффективно обучать модели на разнородных данных, таких как местонахождение пользователя, история операций и тип устройства. При этом, CatBoost демонстрирует очень хорошую производительность, обгоняя при решении различных задач классификации данных такие библиотеки, как LightGBM, XGBoost и H2O.