1.1.2 • Published 6 years ago

ml-xgboost v1.1.2

Weekly downloads
76
License
MIT
Repository
github
Last release
6 years ago

xgboost

NPM version build status David deps npm download

Installation

$ npm install ml-xgboost

API Documentation

Example

import IrisDataset from 'ml-dataset-iris';

require('ml-xgboost').then(XGBoost => {
    var booster = new XGBoost({
        booster: 'gbtree',
        objective: 'multi:softmax',
        max_depth: 5,
        eta: 0.1,
        min_child_weight: 1,
        subsample: 0.5,
        colsample_bytree: 1,
        silent: 1,
        iterations: 200
    });

    var trainingSet = IrisDataset.getNumbers();
    var predictions = IrisDataset.getClasses().map(
        (elem) => IrisDataset.getDistinctClasses().indexOf(elem)
    );

    booster.train(dataset, trueLabels);
    var predictDataset = /* something to predict */
    var predictions = booster.predict(predictDataset);

    // don't forget to free your model
    booster.free()

    // you can save your model in this way
    var model = JSON.stringify(booster); // string
    // or
    var model = booster.toJSON(); // object

    // and load it
    var anotherBooster = XGBoost.load(model); // model is an object, not a string
});

Development

  • You should have emscripten sdk-1.37.22 installed on your computer and be able to use emcc and em++.
  • Download the repo: git clone --recursive https://github.com/mljs/xgboost
  • Run npm run build or make at the root directory.

XGBoost library files changed

  • dmlc-core/include/dmlc/base.h line 45 here
  • rabit/include/dmlc/base.h line 45 here

    #if (!defined(DMLC_LOG_STACK_TRACE) && defined(__GNUC__) && !defined(__MINGW32__))
    #define DMLC_LOG_STACK_TRACE 1
    #undef DMLC_LOG_STACK_TRACE
    #endif

    Note: this is to avoid compilation issues with the execinfo.h library that is not needed in the JS library

  • in case that you get the following error:

    ./xgboost/include/xgboost/c_api.h:29:9: error: unknown type name 'uint64_t'

    just add this import at the beginning of this file after the first define:

    #include <stdint.h>

License

© Contributors, 2016. Licensed under an Apache-2 license.

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.0

6 years ago

0.0.0

6 years ago