catboost
v1.27.0
Published
Node bindings for CatBoost library to apply models. CatBoost is a machine learning method based on gradient boosting over decision trees.
Readme
CatBoost Model Node package
A Node.js package for applying pretrained CatBoost models.
Installation
Install the package. You have two options:
Install from npm registry:
npm i catboostBuild package from source.
CatBoost Node.js package is a wrapper around
libcatboostmodellibrary with an exposed C API.In order to build it some environment setup is necessary. Modern versions of CatBoost use CMake build system, build environment setup for CMake is described here, CatBoost versions before 1.2 used Ya Make build system, build environment setup for YaMake is described here.
CatBoost source code is stored as a Git repository on GitHub at https://github.com/catboost/catboost/. You can obtain a local copy of this Git repository by running the following command from a command line interpreter (you need to have Git command line tools installed):
git clone https://github.com/catboost/catboost.gitNavigate to
$PATH_TO_CATBOOST_REPO/catboost/node-packagedirectory inside the repo and run:npm run install [-- <build_native arguments>]See build_native documentation about possible arguments. Don't specify already defined
--targetor--build-root-dirarguments.For example, build with CUDA support:
npm run install -- --have-cudaNow you can link this package in your project via:
npm install $PATH_TO_CATBOOST_REPO/catboost/node-package
Usage
Apply the pretrained model.
Example with numerical and categorical features (they must be passed in separate arrays containing features of each type for all samples):
catboost = require('catboost');
model = new catboost.Model();
model.loadModel('test_data/adult.cbm');
prediction = model.predict([
[40., 85019., 16., 0., 0., 45.],
[28., 85019., 13., 0., 0., 13.],
],
[
["Private", "Doctorate", "Married-civ-spouce", "Prof-specialty", "Husband", "Asian-Pac-Islander", "Male", "nan"],
["Self-emp-not-inc", "Bachelors", "Married-civ-spouce", "Exec-managerial", "Husband", "White", "Male", "United-States"],
]
);
console.log(prediction);Release procedure
See DEPLOYMENT.md.
