CatBoost

Библиотека программного обеспечения с открытым исходным кодом, разработанная Яндексом
CatBoost
Оригинальный автор(ы)Андрей Гулин: [1] / Яндекс
Разработчик(и)Участники Яндекса и CatBoost [2]
Первоначальный выпуск18 июля 2017 г. ; 7 лет назад [3] [4] ( 2017-07-18 )
Стабильный релиз
1.2.3 [5] / 23 февраля 2024 г. ; 11 месяцев назад ( 2024-02-23 )
Написано вPython , R , C++ , Java
Операционная системаLinux , MacOS , Windows
ТипМашинное обучение
ЛицензияЛицензия Apache 2.0
Веб-сайтcatboost.ai

CatBoost [6] — это библиотека программного обеспечения с открытым исходным кодом , разработанная Яндексом . Она предоставляет фреймворк градиентного бустинга , который, среди прочего, пытается решать категориальные функции с использованием альтернативы классическому алгоритму, основанной на перестановках. [7] Она работает на Linux , Windows , macOS и доступна в Python , [8] R , [9] а модели, созданные с помощью CatBoost, могут использоваться для прогнозирования в C++ , Java , [10] C# , Rust , Core ML , ONNX и PMML . Исходный код лицензирован по лицензии Apache и доступен на GitHub. [6]

Журнал InfoWorld наградил библиотеку премией «Лучшие инструменты машинного обучения» в 2017 году. [11] наряду с TensorFlow , Pytorch , XGBoost и 8 другими библиотеками.

Kaggle включил CatBoost в список наиболее часто используемых фреймворков машинного обучения (ML) в мире. Он вошел в топ-8 наиболее часто используемых фреймворков ML в опросе 2020 года [12] и в топ-7 наиболее часто используемых фреймворков ML в опросе 2021 года. [13]

По состоянию на апрель 2022 года CatBoost устанавливается около 100000 раз в день из репозитория PyPI [14]

Функции

CatBoost приобрел популярность по сравнению с другими алгоритмами градиентного усиления в первую очередь благодаря следующим особенностям [15]

  • Собственная обработка категориальных признаков [16]
  • Быстрое обучение графического процессора [17]
  • Визуализации и инструменты для анализа моделей и характеристик
  • Использование забывчивых деревьев или симметричных деревьев для более быстрого выполнения
  • Упорядоченный бустинг для преодоления переобучения [7]

История

В 2009 году Андрей Гулин разработал MatrixNet — фирменную библиотеку градиентного бустинга, которая использовалась в Яндексе для ранжирования результатов поиска. С 2009 года MatrixNet используется в различных проектах Яндекса, включая рекомендательные системы и прогноз погоды.

В 2014–2015 годах Андрей Гулин с командой исследователей начал новый проект Tensornet, направленный на решение проблемы «как работать с категориальными данными ». Результатом стало несколько собственных библиотек Gradient Boosting с различными подходами к работе с категориальными данными.

В 2016 году команда Machine Learning Infrastructure под руководством Анны Дорогуш начала работу над Gradient Boosting в Яндексе, включая Matrixnet и Tensornet. Они реализовали и выложили в открытый доступ следующую версию библиотеки Gradient Boosting под названием CatBoost, которая поддерживает категориальные и текстовые данные, обучение на GPU, анализ моделей, инструменты визуализации.

CatBoost был открыт в июле 2017 года и в настоящее время находится в стадии активной разработки в Яндексе и сообществе разработчиков ПО с открытым исходным кодом.

Приложение

  • JetBrains использует CatBoost для автодополнения кода [18]
  • Cloudflare использует CatBoost для обнаружения ботов [19]
  • Careem использует CatBoost для прогнозирования будущих направлений поездок [20]

Смотрите также

Ссылки

  1. ^ "Андрей Гулин - Люди - Исследования в Яндексе". research.yandex.com .
  2. ^ "catboost/catboost". GitHub .
  3. ^ "Яндекс открывает исходники CatBoost, градиентный бустинг машинного обучения библиотеки". TechCrunch . 18 июля 2017. Получено 2020-08-30 .
  4. ^ Йегулалп, Сердар (2017-07-18). "Яндекс. Библиотека машинного обучения CatBoost с открытыми исходными кодами". InfoWorld . Получено 2020-08-30 .
  5. ^ "Выпуски · catboost/catboost". GitHub . Получено 2024-03-14 .
  6. ^ ab "catboost/catboost". 30 августа 2020 г. – через GitHub.
  7. ^ аб Прохоренкова, Людмила; Гусев, Глеб; Воробьев, Александр; Дорогуш, Анна Вероника; Гулин, Андрей (20 января 2019 г.). «CatBoost: объективное повышение с категориальными характеристиками». arXiv : 1706.09516 [cs.LG].
  8. ^ "Индекс пакетов Python PYPI: catboost" . Получено 20.08.2020 .
  9. ^ "Conda force package catboost-r" . Получено 2020-08-30 .
  10. ^ "Maven Repository: ai.catboost » catboost-prediction". mvnrepository.com . Получено 2020-08-30 .
  11. ^ staff, InfoWorld (27 сентября 2017 г.). "Bossie Awards 2017: Лучшие инструменты машинного обучения". InfoWorld .
  12. ^ «Состояние науки о данных и машинного обучения 2020».
  13. ^ «Состояние науки о данных и машинного обучения 2021».
  14. ^ "PyPI Stats catboost". PyPI Stats .
  15. ^ Джозеф, Ману (29.02.2020). "The Gradient Boosters V: CatBoost". Deep & Shallow . Получено 30.08.2020 .
  16. ^ Дорогуш, Анна Вероника; Ершов, Василий; Гулин, Андрей (2018-10-24). "CatBoost: градиентный бустинг с поддержкой категориальных признаков". arXiv : 1810.11363 [cs.LG].
  17. ^ "CatBoost обеспечивает быстрое усиление градиента в деревьях решений с использованием графических процессоров". Блог разработчиков NVIDIA . 2018-12-13 . Получено 2020-08-30 .
  18. ^ "Автозавершение кода, Эпизод 4: Обучение модели". Блог разработчиков JetBrains . 2021-08-20.
  19. ^ "Остановите ботов: Практические уроки машинного обучения". Блог Cloudflare . 2019-02-20.
  20. ^ «Как служба прогнозирования пункта назначения Careem ускоряет вашу поездку». Careem . 2019-02-19.
  • CatBoost
  • GitHub - catboost/catboost
  • CatBoost - Технология Яндекса
Взято с "https://en.wikipedia.org/w/index.php?title=CatBoost&oldid=1257415245"