ml-svm

Support Vector Machine in Javascript


Keywords
optimizarion, differential, equations, numerical, methods, analisys, javascript, svm, support-vector-machine, svm-model, svm-classifier
License
MIT
Install
bower install ml-svm

Documentation

ml-svm

NPM version build status David deps npm download

Support Vector Machines in Javascript

⚠️ ⚠️ This is a simplified implementation of SVM, primarily meant for students to understand the algorithm. For real world applications, please check out libsvm-js ⚠️ ⚠️

Implementation of this simplified Sequential Minimization Optimization algorithm

Installation

npm install ml-svm

API

API documentation

Example

// Instantiate the svm classifier
var SVM = require('ml-svm');

var options = {
  C: 0.01,
  tol: 10e-4,
  maxPasses: 10,
  maxIterations: 10000,
  kernel: 'rbf',
  kernelOptions: {
    sigma: 0.5
  }
};

var svm = new SVM(options);

// Train the classifier - we give him an xor
var features = [[0,0],[0,1],[1,1],[1,0]];
var labels = [1, -1, 1, -1];
svm.train(features, labels);

// Let's see how narrow the margin is
var margins = svm.margin(features);

// Let's see if it is separable by testing on the training data
svm.predict(features); // [1, -1, 1, -1]

// I want to see what my support vectors are
var supportVectors = svm.supportVectors();
 
// Now we want to save the model for later use
var model = svm.toJSON();

/// ... later, you can make predictions without retraining the model
var importedSvm = SVM.load(model);
importedSvm.predict(features); // [1, -1, 1, -1] 

Authors

License

MIT