CatBoost

CatBoost [2]は、 Yandexが開発したオープンソースのソフトウェアライブラリ勾配ブースティングフレームワークを提供する。従来のアルゴリズムと比較して、順列駆動型の手段によりカテゴリカル変数の処理を改良している[6]LinuxWindowsmacOSで動作し、 PythonR で利用できる[7] [8]。構築されたモデルは、C++JavaC#RustCore MLONNX、PMML で実装できる[9]。ソースコードは Apache License でライセンスされており、GitHub で入手できる[2]

CatBoost
作者 Andrey Gulin:[1] / Yandex
開発元 Yandex and CatBoost Contributors[2]
初版 2017年7月18日 (2017-07-18)[3][4]
最新版
1.2.2[5] / 2023年9月20日 (2023-09-20)
プログラミング
言語
Python, R, C++, Java
対応OS Linux, macOS, Windows
種別 機械学習
ライセンス Apache License 2.0
公式サイト catboost.ai

2017年、InfoWorld 誌は、TensorFlowPyTorchXGBoost、その他 8 つのライブラリとともに「The best machine learning tools」として表彰した[10]

Kaggleは、CatBoost を世界で最も頻繁に使用されている機械学習フレームワークの 1 つとして挙げている。 2020年の調査では第8位[11] 、2021年の調査では第7位であった[12]

2022年4月現在、CatBoost はPyPIリポジトリから 1 日あたり約 10 万回インストールされている[13]

特徴

CatBoost は、主に次の特徴により、他の勾配ブースティングアルゴリズムと比較して人気を博している[14]

  • カテゴリカル変数のネイティブ処理[15]
  • GPU を用いた高速な訓練[16]
  • モデルと特徴分析のための視覚化とツール
  • 忘却ツリーまたは対称ツリーを使用して実行を高速化する
  • オーバーフィッティングを克服する順序付きブースティング[6]

歴史

2009年、Andrey Gulin が MatrixNet を開発した。MatrixNet は Yandex で検索結果のランク付けに使用された独自の勾配ブースティング・ライブラリであり、推奨システムや天気予報など、Yandex のさまざまなプロジェクトで使用されてきた。

2014〜2015年、Andrey Gulin は研究者チームと共に、「カテゴリカルデータの処理方法」の問題を解決することを目的とした Tensornet と呼ばれるプロジェクトを開始した。その結果、カテゴリデータを処理するためのさまざまなアプローチを持つ独自の勾配ブースティングライブラリが作成された。

2016年、Anna Dorogush が率いる Machine Learning Infrastructure チームは、Matrixnet や Tensornet を含む、Yandex での勾配ブースティングに取り組み始めた。彼らは CatBoost と呼ばれる勾配ブースティング ライブラリの次のバージョンを実装し、オープンソース化した。これは、カテゴリカルデータとテキストデータ、GPU トレーニング、モデル分析、視覚化ツールをサポートしていた。

CatBoost は 2017年7月にオープンソース化され、Yandex とオープンソースコミュニティで活発に開発されている。

応用例

  • JetBrainsはコード補完に CatBoostを使用している[17]
  • Cloudflare はボット検出に CatBoost を使用している[18]
  • Careem は目的地予測に CatBoost を使用している[19]

関連項目

脚注

  1. catboost/AUTHORS”. GitHub. 2023年2月8日閲覧。
  2. catboost/catboost”. GitHub. 2023年2月8日閲覧。
  3. Yandex open sources CatBoost, a gradient boosting machine learning library (英語). TechCrunch. 2020年8月30日閲覧。
  4. Yegulalp, Serdar (2017年7月18日). Yandex open sources CatBoost machine learning library (英語). InfoWorld. 2020年8月30日閲覧。
  5. Release 1.2.2 - GitHub
  6. Prokhorenkova, Liudmila; Gusev, Gleb (20 January 2019). "CatBoost: unbiased boosting with categorical features". arXiv:1706.09516 [cs.LG]。
  7. Python Package Index PYPI: catboost”. 2020年8月20日閲覧。
  8. Conda force package catboost-r”. 2020年8月30日閲覧。
  9. Maven Repository: ai.catboost » catboost-prediction”. mvnrepository.com. 2020年8月30日閲覧。
  10. staff (2017年9月27日). Bossie Awards 2017: The best machine learning tools”. InfoWorld. 2023年2月8日閲覧。
  11. State of Data Science and Machine Learning 2020”. 2023年2月8日閲覧。
  12. State of Data Science and Machine Learning 2021”. 2023年2月8日閲覧。
  13. PyPI Stats catboost (英語). PyPI Stats. 2023年2月8日閲覧。
  14. Joseph (2020年2月29日). The Gradient Boosters V: CatBoost (英語). Deep & Shallow. 2020年8月30日閲覧。
  15. Dorogush, Anna Veronika; Ershov, Vasily (24 October 2018). "CatBoost: gradient boosting with categorical features support". arXiv:1810.11363 [cs.LG]。
  16. CatBoost Enables Fast Gradient Boosting on Decision Trees Using GPUs (英語). NVIDIA Developer Blog (2018年12月13日). 2020年8月30日閲覧。
  17. Code Completion, Episode 4: Model Training (英語). JetBrains Developer Blog (2021年8月20日). 2023年2月8日閲覧。
  18. Stop the Bots: Practical Lessons in Machine Learning (英語). The Cloudflare Blog (2019年2月20日). 2023年2月8日閲覧。
  19. How Careem’s Destination Prediction Service speeds up your ride (英語). Careem (2019年2月19日). 2023年2月8日閲覧。

外部リンク

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.