CatBoost

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

2017年、InfoWorld 誌は、TensorFlow、 PyTorch、 XGBoost、その他 8 つのライブラリとともに「The best machine learning tools」として表彰した 。

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

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

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

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

歴史 
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を使用している
 Cloudflare はボット検出に CatBoost を使用している
 Careem は目的地予測に CatBoost を使用している

関連項目 

 機械学習
 勾配ブースティング
 XGBoost
 LightGBM
 scikit-learn

脚注

外部リンク 
 CatBoost
 catboost/catboost - GitHub
 CatBoost - Yandex

2017年のソフトウェア
C++でプログラムされたフリーソフトウェア
応用機械学習
Apache Licenseのソフトウェア
オープンソース人工知能
フリーソフトウェアとオープンソースソフトウェア
人工知能アプリケーション