ページ内ナビ
概要
CatBoostはdecision treeへgradient boostingを適用するmachine learning libraryです。数値特徴とカテゴリ特徴を扱い、classification、regression、rankingなどに利用できます。Python、R、Java、C++向けの利用経路があり、CPUに加えてGPU・multi-GPU trainingも提供します。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
カテゴリ特徴を含むtabular dataをそのままmodelへ渡す
CatBoostはnumerical featureとcategorical featureの両方を扱えることを主要機能として掲げています。事前にすべてをone-hot等へ変換するpipelineを必須にせず、GBDT modelを構築できます。
出典:[1]
classification・regression・rankingを同じlibraryで扱う
repository metadataとPython packageはclassification、regression、ranking等のmachine learning taskを対象とし、用途に応じたestimatorやloss/metricを選べます。
CPU・GPU・distributed trainingをworkloadに合わせて選ぶ
READMEはGPU・multi-GPU trainingを案内し、Apache SparkとCLIによるdistributed trainingも提供しています。dataset sizeや実行環境に合わせてtraining方式を選択できます。
出典:[1]
向いている用途
カテゴリ値を多く含む表形式dataでGBDTを試したい場合に向く
customer属性、商品属性、event分類など、数値とカテゴリが混在するtabular dataでclassification・regression・rankingを比較したい用途に適します。
出典:[1]
導入前の確認
GPU・distributed機能はlocal CPU実行とは別に環境を検証する
GPUやSparkを使う場合はhardware、driver、runtime、cluster構成等の追加条件があります。まずCPUの小規模datasetでmodelとfeatureを検証し、必要に応じて実行基盤を拡張します。
出典:[1]
source buildはCMake・Conan・Cython等のtoolchainを必要とする
Python packageのpyprojectはsource buildにCMake、Conan、Cython、NumPy等を指定しています。通常利用ではprebuilt packageを優先し、source buildが必要な場合だけtoolchainを揃えます。
参考にした公式資料
- [1]CatBoost v1.2.10 README(2026-10-03)
- [2]CatBoost 1.2.10 Python setup.py(2026-10-03)
- [3]CatBoost 1.2.10 Python pyproject.toml(2026-10-03)
- [4]CatBoost 1.2.10 version metadata(2026-10-03)
- [5]CatBoost 1.2.10 release(2026-10-03)
- [6]CatBoost Apache-2.0 license(2026-10-03)
編集部からの補足
カテゴリ値のencoding処理を別pipelineへ切り出さずGBDTへ渡したいtabular dataに向きます。精度だけでなくtraining時間、推論latency、model sizeを実datasetで比較し、CPU/GPUや他GBDTとの選択を決めるのが実務的です。
3ステップで試す
- 1
CatBoost 1.2.10を仮想環境へインストールする
prebuilt Python packageをstable releaseへ固定して導入します。
python3 -m venv .venv && . .venv/bin/activate && python -m pip install catboost==1.2.10 - 2
小さなclassification modelを学習する
外部datasetを使わず、CPUで小規模modelを学習してpredictionまで実行します。
python -c "from catboost import CatBoostClassifier; m=CatBoostClassifier(iterations=5,verbose=False); m.fit([[0],[1],[2],[3]],[0,0,1,1]); print(m.predict([[2.5]]))" - 3
導入versionを確認する
training環境で利用したlibrary versionをmodel artifactと一緒に記録できるよう確認します。
python -c "import catboost; print(catboost.__version__)"
成長
成長の推移 · 直近30日
9,134 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 112
- Open PR
- 63
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- machine-learning
- decision-trees
- gradient-boosting
- gbm
- gbdt
- python
- r
- kaggle
- gpu-computing
- catboost
- tutorial
- categorical-features
- Stars
- 9,134
- Forks
- 1,343
- Watchers
- 187
- Open Issues
- 673
- Contributors
- 189
- 所有者種別
- Organization
- 主要言語
- C++
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/03
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- ComfyUI135,903 Stars
共通タグ 2件 · 共通カテゴリ 1件
生成AIの手順を見えるグラフとして保存し、必要な部分だけ動かす
Python - TensorFlow200,675 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
2.21.0でPython要件と周辺依存が変わった機械学習基盤
C++ - LightGBM18,829 Stars
共通タグ 4件 · 共通カテゴリ 1件 · 同じ言語
高速・省メモリなGradient Boosted Treesを大規模データへ適用する
C++ - scikit-learn67,463 Stars
共通タグ 3件 · 共通カテゴリ 2件
前処理・学習・model selection・評価を共通estimator APIとPipelineで組み立てるPython機械学習library
Python - pandas49,908 Stars
共通タグ 3件 · 共通カテゴリ 2件
Series・DataFrameでlabel付き表形式・時系列dataを整形・結合・集計・入出力するPython data analysis library
Python - statsmodels11,670 Stars
共通タグ 3件 · 共通カテゴリ 2件
回帰・時系列・仮説検定を係数・標準誤差・信頼区間・診断まで含めて推定する
Python
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。