catboost-cgo
Fast, scalable, high performance Gradient Boosting on Decision Trees library. Golang using Cgo for blazing fast inference CatBoost Model
About catboost-cgo
CatBoost-Cgo
Evaluation library is the fastest way for inference a model CatBoost. The library provides a C API.
The C API interface can be accessed from any programming language (example Golang + Cgo).
Prebuilt shared library (*.so | *.dylib) artifacts are available of the releases page on GitHub CatBoost project.
The shared library:
- Should be in
/usr/local/lib - Or set path in environment
CATBOOST_LIBRARY_PATH - Or set path manual in source code
SetSharedLibraryPath(see example below)
For more information, see https://catboost.ai/en/docs/concepts/c-plus-plus-api_dynamic-c-pluplus-wrapper.
Compatibility
Features
Supported functionality (https://catboost.ai/en/docs/concepts/python-quickstart):
- CatBoostRegressor ✅
- CatBoostClassifier ✅
- CatBoostRanker ✅
Supported prediction types (https://github.com/catboost/catboost/blob/master/catboost/libs/model/enums.h):
- RawFormulaVal ✅
- Probability ✅
- Class ✅
- RMSEWithUncertainty ✅
- Exponent ✅
Limitation
Supported operating system and architectures:
If you use GPU - only device 0 is supported for now. More details: https://github.com/catboost/catboost/issues/2774.
Supported Type:
- Numeric ✅
- Categorical ✅ (https://catboost.ai/en/docs/features/categorical-features)
- Text 🚫 (https://catboost.ai/en/docs/features/text-features)
- Embeddings 🚫 (https://catboost.ai/en/docs/features/embeddings-features)
Installation
- Install catboost-cgo:
go get github.com/mirecl/catboost-cgo
-
Download CatBoost shared library from release page: https://github.com/catboost/catboost/releases
-
Save CatBoost shared library in
/usr/local/libor manual set path:
import (
cb "github.com/mirecl/catboost-cgo/catboost"
)
func main(){
cb.SetSharedLibraryPath(...)
}
- See examples of use
Usage
Thanks
Frequently Asked Questions
What is catboost-cgo?
catboost-cgo is a Machine Learning library for the Go programming language. Fast, scalable, high performance Gradient Boosting on Decision Trees library. Golang using Cgo for blazing fast inference CatBoost Model
How do I install catboost-cgo?
Install catboost-cgo with the Go module system using `go get mirecl/catboost-cgo`. Check the repository for the current installation instructions.
What category does catboost-cgo belong to?
catboost-cgo is listed under Machine Learning, specifically Machine Learning.