catboost

Node bindings for CatBoost library to apply models. CatBoost is a machine learning method based on gradient boosting over decision trees.

Usage no npm install needed!

<script type="module">
  import catboost from 'https://cdn.skypack.dev/catboost';
</script>

README

CatBoost Model Node package

A Node.js package for applying pretrained CatBoost model.

Usage example

  1. Install the package. You have two options:

    • Install from npm registry:
    npm i catboost
    
    • Build package from source. Navigate to this directory inside the repo and run:
    npm install
    

    Now you can link this package in your project via:

    npm install $PATH_TO_CATBOOST_REPO/catboost/node-package
    
  2. Apply the pretrained model:

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);

Development roadmap

  • Implement basic API calls.
  • Extend exposed API, improve test coverage.
  • Migrate away from shell scripts.
  • Support Windows and MacOS platforms.
  • Switch to downloading and verifying the pre-built binary instead of building it from scratch.
  • Publish the alpha version of the package.
  • Publish the generally available version of the package.

Release procedure

See DEMPLOYMENT.md.