Skip to content

nuanio/xgboost-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Oct 30, 2017
ab214ec · Oct 30, 2017

History

24 Commits
Sep 9, 2017
Sep 11, 2017
Oct 28, 2017
Oct 30, 2017
Sep 9, 2017
Sep 9, 2017
Sep 9, 2017
Sep 9, 2017
Oct 28, 2017
Sep 9, 2017
Oct 30, 2017
Sep 11, 2017
Oct 28, 2017
Oct 28, 2017
Sep 11, 2017
Oct 30, 2017
Sep 11, 2017
Sep 9, 2017

Repository files navigation

XGBoost-Node

Build Status NPM version codecov license

eXtreme Gradient Boosting Package in Node.js

XGBoost-Node is a Node.js interface of XGBoost. XGBoost is a library from DMLC. It is designed and optimized for boosted trees. The underlying algorithm of XGBoost is an extension of the classic gbm algorithm. With multi-threads and regularization, XGBoost is able to utilize more computational power and get a more accurate prediction.

The package is made to run existing XGBoost model with Node.js easily.

Features

  • Runs XGBoost Model and make predictions in Node.js.

  • Both dense and sparse matrix input are supported, and missing value is handled.

  • Supports Linux, macOS.

Install

Install from npm

npm install xgboost

Install from GitHub

git clone --recursive git@github.com:nuanio/xgboost-node.git
npm install

Documentation

Roadmap

  • Matrix API
  • Model API
  • Prediction API
  • Async API
  • Windows Support
  • Training API
  • Visualization API

Examples

Train a XGBoost model and save to a file, more in doc.

Load the model with XGBoost-Node:

const xgboost = require('xgboost');
const model = xgboost.XGModel('iris.xg.model');

const input = new Float32Array([
  5.1,  3.5,  1.4,  0.2, // class 0
  6.6,  3. ,  4.4,  1.4, // class 1
  5.9,  3. ,  5.1,  1.8  // class 2
]);

const mat = new xgboost.matrix(input, 3, 4);
console.log(model.predict(mat));
// {
//   value: [
//     0.991, 0.005, 0.004, // class 0
//     0.004, 0.990, 0.006, // class 1
//     0.005, 0.035, 0.960, // class 2
//   ],
//   error: undefined,      // no error
// }

const errModel = xgboost.XGModel('data/empty');
console.log(errModel);
console.log(errModel.predict());

Contributing

Your help and contribution is very valuable. Welcome to submit issue and pull requests. Learn more