Яндекс открыл код библиотеки машинного обучения CatBoost
18 июля 2017 года
Компания Яндекс объявила об открытии исходных текстов библиотеки машинного обучения CatBoost, которая реализует механизм градиентного бустинга на деревьях решений и позиционируется в качестве преемника алгоритма MatrixNet, применяемого в сервисах Яндекса для ранжирования, прогнозирования и формирования рекомендаций. Код библиотеки написан на языке C++ и распространяется под лицензией Apache 2.0. Для библиотеки подготовлены биндинги для языков Python и R, а также инструментарий командной строки и интерфейс(недоступная ссылка) визуализации процесса обучения.
В отличие от MatrixNet в CatBoost реализован более универсальный алгоритм, который не ограничивается числовыми данными при обучении модели, выдаёт более точные результаты при ранжировании данных и подходит для решения более широкого спектра задач, вплоть до промышленности и банковской сферы (например, прогнозирование расхода купюр в банкоматах). В настоящее время CatBoost уже внедрён для ранжирования ленты рекомендаций в zen.yandex.ru и применяется для расчёта прогноза погоды в Яндекс Погода. Кроме Яндекса CatBoost применяется в Европейском центре ядерных исследований (ЦЕРН) для обработки данных эксперимента LHCb на Большом адронном коллайдере.
Предлагаемый в CatBoost метод машинного обучения позволяет учитывать категориальные признаки и эффективно обучать модели на разнородных данных, таких как местонахождение пользователя, история операций и тип устройства. При этом, CatBoost демонстрирует очень хорошую производительность, обгоняя при решении различных задач классификации данных такие библиотеки, как LightGBM, XGBoost и H2O. Предоставляемый библиотекой API достаточно прост и требует написания около 10 строк кода для выполнения задач по классификации данных. Создание и тренировка модели может производиться из командной строки.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.