node-svm-smo

0.1.2 • Public • Published

node-svm-smo

Build Status Coverage Status npm version

Support Vector Machine implementing Sequential Minimal Optimisation algorithm for Node.js

Installation

npm i node-svm-smo

Basic usage

import the module : import SVM from "node-svm-smo";

Example

import SVM from "node-svm-smo";

const data = [
  [63.94467417052296,81.0217272621887],
  [54.87300013454443,60.84061766333669],
  [45.52048694403639,81.12464276459878],
  [48.965524328511705,57.18776467921587],
  [74.52679297504449,83.83083375121797],
  [54.37811765569671,56.03892121990233],
  [44.26860038064747,19.667730330959163],
  [49.174828952241675,45.63294964476442],
  [68.38409733522553,71.71723595963316],
  [59.78161085912989,61.55507106057365],
  [6.6500878665167775,39.49294636329541],
  [44.48056808348252,48.662212578138195]
];

const labels = [-1,1,-1,1,-1,1,-1,1,-1,1,-1,1];

const C = 5;
const kernel = 'RBF';
const RBFSigma = 15;

const MySVM = new SVM(data,labels,C,kernel,RBFSigma);

MySVM.predict([50,50]);
// expected output : 1

check out https://github.com/guihardbastien/Support-Vector-Machine for data visualisation.

Parameters

  • data : Array of feature vectors should be of form :

const data = [[X1,Y1,...,Z1],[X2,Y2,...,Z2],...,[Xx,Yx,...,Zx]]

  • labels: Single array of data output, should match data.length

  • C : soft margin parameter

  • kernel : kernel used for the the kernel trick

    • RBF: Radial Basis Function

Options

  • RBFSigma:

Methods

  • predict(data) : returns binary classification of an input

TO DO

  • Add default parameters
  • Add more kernels
  • Write tests
  • Comment code :trollface:

Sources

License

License: MIT

Readme

Keywords

Package Sidebar

Install

npm i node-svm-smo

Weekly Downloads

0

Version

0.1.2

License

ISC

Unpacked Size

11.8 kB

Total Files

10

Last publish

Collaborators

  • basthard