キャットブースト

キャットブースト
原作者アンドレイ・グリン:[ 1 ] / Yandex
開発者YandexとCatBoostの貢献者[ 2 ]
初回リリース2017年7月18日[ 3 ] [ 4 ] ( 2017-07-18 )
安定版リリース
1.2.8 [ 5 ] / 2025年4月13日 (2025年4月13日
書かれたPythonRC++Java
オペレーティング·システムLinuxmacOSWindows
タイプ機械学習
ライセンスApacheライセンス2.0
Webサイトキャットブースト.ai

CatBoost [ 6 ]はYandexが開発したオープンソースのソフトウェアライブラリです。勾配ブースティングフレームワークを提供しており、その機能の中でも、古典的なアルゴリズムに代わる順列駆動型のアルゴリズムを用いてカテゴリカル特徴量を解こうとします。[ 7 ] LinuxWindowsmacOSで動作し、 Python[ 8 ] R[ 9 ]で利用できます。 また、CatBoostを使用して構築されたモデルは、C++Java[ 10 ] C#RustCore MLONNXPMMLでの予測に使用できます。ソースコードはApache Licenseの下でライセンスされており、GitHubで入手できます。[ 6 ]

InfoWorld誌は、2017年にこのライブラリを「最高の機械学習ツール」に選出しました。 [ 11 ] TensorFlow Pytorch XGBoost、その他8つのライブラリ とともに

Kaggleは、CatBoostを世界で最も頻繁に利用されている機械学習(ML)フレームワークの1つとして挙げています。2020年の調査では最も頻繁に利用されているMLフレームワークのトップ8にランクインし[ 12 ]、2021年の調査では最も頻繁に利用されているMLフレームワークのトップ7にランクインしました[ 13 ] 。

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

特徴

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

  • カテゴリカル特徴量のネイティブ処理[ 16 ]
  • 高速GPUトレーニング[ 17 ]
  • モデルと機能の分析のための視覚化とツール
  • 実行速度を上げるために忘却木や対称木を使用する
  • 過剰適合を克服するための順序付きブースティング[ 7 ]

歴史

2009年、アンドレイ・グーリンは独自の勾配ブースティングライブラリであるMatrixNetを開発しました。これはYandexの検索結果のランキング付けに使用されていました。2009年以降、MatrixNetはYandexの様々なプロジェクトで使用されており、レコメンデーションシステムや天気予報などがその例です。

2014年から2015年にかけて、アンドレイ・グーリンは研究者チームと共同で、Tensornetと呼ばれる新しいプロジェクトを立ち上げました。このプロジェクトは、「カテゴリカルデータの扱い方」という問題の解決を目指していました。彼らの研究の結果、カテゴリカルデータの処理に異なるアプローチを採用した、複数の独自の勾配ブースティングライブラリが誕生しました。

2016年、Anna Dorogush率いる機械学習インフラストラクチャチームは、MatrixnetとTensornetを含むYandexにおける勾配ブースティングの取り組みを開始しました。彼らは、カテゴリカルデータとテキストデータ、GPUトレーニング、モデル分析、可視化ツールをサポートする、勾配ブースティングライブラリの次期バージョン「CatBoost」を実装し、オープンソース化しました。

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

応用

参照

参考文献

  1. ^ 「Andrey Gulin - 人々 - Yandexの研究research.yandex.com
  2. ^ "catboost/catboost" . GitHub .
  3. ^ 「Yandex、勾配ブースティング機械学習ライブラリ「CatBoost」をオープンソース化」 TechCrunch 2017年7月18日 2020年8月30日閲覧
  4. ^ Yegulalp, Serdar (2017-07-18). 「YandexがCatBoost機械学習ライブラリをオープンソース化」 . InfoWorld . 2020年8月30日閲覧
  5. ^ “リリース · catboost/catboost” . GitHub . 2025年10月2日閲覧。
  6. ^ a b "catboost/catboost" . 2020年8月30日 – GitHub経由。
  7. ^ a bプロホレンコワ、リュドミラ;グセフ、グレブ。ヴォロベフ、アレクサンドル。ドログシュ、アンナ・ベロニカ。グリン、アンドレイ (2019-01-20)。 「CatBoost: カテゴリ特徴を使用した不偏ブースティング」。arXiv : 1706.09516 [ cs.LG ]。
  8. ^ 「Python パッケージインデックス PYPI: catboost」 。 2020年8月20日閲覧
  9. ^ 「Conda force package catboost-r」 。 2020年8月30日閲覧
  10. ^ 「Mavenリポジトリ: ai.catboost » catboost-prediction」 . mvnrepository.com . 2020年8月30日閲覧。
  11. ^スタッフ、InfoWorld(2017年9月27日)。「Bossie Awards 2017:最高の機械学習ツールInfoWorld
  12. ^ 「データサイエンスと機械学習の現状 2020」
  13. ^ 「データサイエンスと機械学習の現状 2021」
  14. ^ 「PyPI Stats catboost」 . PyPI Stats .
  15. ^ Joseph, Manu (2020年2月29日). 「The Gradient Boosters V: CatBoost」 . Deep & Shallow . 2020年8月30日閲覧
  16. ^ Dorogush, Anna Veronika; Ershov, Vasily; Gulin, Andrey (2018-10-24). 「CatBoost: カテゴリ特徴量サポートによる勾配ブースティング」arXiv : 1810.11363 [ cs.LG ].
  17. ^ 「CatBoostはGPUを使用して決定木の高速勾配ブースティングを実現します」。NVIDIA開発者ブログ。2018年12月13日。 2020年8月30日閲覧
  18. ^ 「コード補完、エピソード4:モデルのトレーニング」。JetBrains開発者ブログ。2021年8月20日。
  19. ^ 「ボットを止めよう:機械学習の実践的レッスン」。Cloudflareブログ。2019年2月20日。
  20. ^ 「Careemの目的地予測サービスで乗車時間を短縮する方法」Careem、2019年2月19日。