CatBoost


CatBoost — открытая программная библиотека, разработанная компанией Яндекс и реализующая уникальный патентованный алгоритм построения моделей машинного обучения, использующий одну из оригинальных схем градиентного бустинга. Основное API для работы с библиотекой реализовано для языка Python, также существует реализация для языка программирования R.

18 июля 2017 года компания Яндекс выложила библиотеку с алгоритмом CatBoost в открытый доступ с открытой лицензией Apache 2.0[1][2][3], которая является продолжением и развитием закрытого проекта Яндекса — Матрикснет[⇨].

Закрытая система машинного обучения Матрикснет разрабатывалась компанией Яндекс с 2009 года для использования градиентного бустинга во внутренних проектах компании — в первую очередь, для построения формулы ранжирования поисковой выдачи[4].

18 июля 2017 года CatBoost была открыта для свободного доступа на GitHub компанией Яндекс под свободной лицензией Apache 2.0. CatBoost является системой машинного обучения использующая одну из оригинальных схем градиентного бустинга. CatBoost доступна для 64-разрядных операционных систем Linux, macOS и Windows. В ОС macOS для ускорения работы используется оригинальный фреймворк Core ML[англ.] — созданный Apple для методов машинного обучения.

Сравнивая CatBoost с подобными системами машинного обучения компаний Google (TensorFlow) и Microsoft (LightGBM), руководитель разработки систем машинного обучения «Яндекса» Анна Вероника Дорогуш отметила, что Google TensorFlow решает другой класс задач, эффективно анализируя однородные данные — например изображения. А «CatBoost работает с данными разной природы и может быть использован в связке с TensorFlow и другими алгоритмами машинного обучения в зависимости от конкретных задач». У Microsoft LightGBM российская разработка выигрывает по качеству, что демонстрирует таблица тестов с общепринятыми в машинном обучении сравнениями, но пока проигрывает в скорости — что Яндекс обещает исправить[5].