Have a look at the JSDOC documentation.
Machine Learning Classes
Machine learning classes are oriented towards three basic use cases: static classification, static regression, and temporal temporal classification. These terms are defined on the General Concepts page.
Basic algorithm classes:
For any machine learning algorithm class, there are at least three methods:
train(trainingData) — takes a training data as an argument, and trains the model or models using those data
run(inputVector) — takes an array (or an array of arrays) as input and processes them using a trained model. This triggers an array or a number of as output.
reset() — resets any model to a default state
var demoTrainingSet = [
The SeriesClassification class does not need to specify output. Its training data looks like this:
var trainingSeries01 = [
input: [0, 1, 2,...]
//The train method takes an array of series
The StreamBuffer class implements a circular buffer plus a collection of methods allowing to compute a variety of common signal features on this buffer. It is driven by a push(input) method, and each feature is computed by calling the corresponding method name. It includes the following methods:
- First order difference (aka velocity())
- Second order difference (aka acceleration())
- Maximum() or minimum() value
- Sum(), mean(), and standard deviation() of values in buffer
- Root mean square of values in the buffer
- Maximum or minimum velocity or acceleration
All of the methods are demonstrated here.
///// from other page. integrate ^^^^^ ////
- JS runs in browser using Content Delivery Network (CDN) distribution
- JS can be imported into NodeJS using require.
Code repository with examples: http://gitlab.doc.gold.ac.uk/rapid-mix/RapidLib
Here is a version that can be loaded into Node.js using require.
- a server-side library for Node.js named
xmm-node library can do basically everything that the original XMM C++ library does, but is typically used for training the models from datasets.
xmm-client library has four classes : a data recorder utility, a dataset utility (arranging recordings into datasets formatted for xmm-node), a GMM / GMR decoder, and a HHMM / HHMR decoder. The recorder and dataset utilities allow to prepare the data, which is then used for server-side training. The resulting models can be loaded into the decoders and used for real-time classification and regression.
xmm-node‘s documentation is here (just scroll down a bit through the README file).
xmm-client‘s documentation is there.
lfo modules can process data streams online (i.e. processing data from audio inputs or event sources) as well as offline (e.g. iterating over recorded data) depending on the used
sink modules. Many of the operator modules provided by the library (e.g. filters, signal statistics) can also be used for processing data using an alternative API without the
Project page: https://github.com/wavesjs/waves-lfo
waves-lfo, integrating them into a set of efficient and simple to use components, targeted at gesture recognition from the smartphone’s sensors. It is totally client-side, but behind the scenes it relies on an online http service, the Como API, to train the models for gesture recognition.