Awesome Go

catboost-cgo

CategoryMachine Learning
SubcategoryMachine Learning
Stars0

Fast, scalable, high performance Gradient Boosting on Decision Trees library. Golang using Cgo for blazing fast inference CatBoost Model

About catboost-cgo

PkgGoDev GitHub Release CI codecov Go Report Card Mentioned in Awesome Go

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:

  1. Should be in /usr/local/lib
  2. Or set path in environment CATBOOST_LIBRARY_PATH
  3. 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:

Installation

  1. Install catboost-cgo:
go get github.com/mirecl/catboost-cgo
  1. Download CatBoost shared library from release page: https://github.com/catboost/catboost/releases

  2. Save CatBoost shared library in /usr/local/lib or manual set path:

import (
 cb "github.com/mirecl/catboost-cgo/catboost"
)

func main(){
  cb.SetSharedLibraryPath(...)
}
  1. 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.

← Back to Machine Learning