cross-validation
Utility library to do cross validation with supervised classifiers.
Cross-validation methods:
A list of the mljs supervised classifiers is available here in the supervised learning section, but you could also use your own. Cross validations methods return a ConfusionMatrix (https://github.com/mljs/confusion-matrix) that can be used to calculate metrics on your classification result.
Installation
npm i -s ml-cross-validation
Example using a ml classification library
const crossValidation = ;const KNN = ;const dataset = 0 0 0 0 1 1 1 1 0 2 2 2 1 2 2 2 1 2;const labels = 0 0 0 1 1 1;const confusionMatrix = crossValidation;const accuracy = confusionMatrix;
Example using a classifier with its own specific API
If you have a library that does not comply with the ML Classifier conventions, you can use can use a callback to perform the classification. The callback will take the train features and labels, and the test features. The callback shoud return the array of predicted labels.
const crossValidation = ;const KNN = ;const dataset = 0 0 0 0 1 1 1 1 0 2 2 2 1 2 2 2 1 2;const labels = 0 0 0 1 1 1;const confusionMatrix = crossValidation;const accuracy = confusionMatrix;
ML classifier API conventions
You can write your classification library so that it can be used with ml-cross-validation as described in here For that, your classification library must implement
- A constructor. The constructor can be passed options as a single argument.
- A
train
method. Thetrain
method is passed the data as a first argument and the labels as a second. - A
predict
method. Thepredict
method is passed test data and should return a predicted label.
Example
{ thisoptions = options; } { // Create your model } { // Apply your model and return predicted label return prediction; }