wink-perceptron
Multi-class averaged perceptron
Wink Perceptron is a fast and effective way to learn linearly separable patterns from either dense or sparse data. Its averaging function results in better generalization compared to the vanilla implementation of perceptron.
Installation
Use npm to install:
npm install wink-perceptron --save
Getting Started
Here is an example of predicting type of iris plant from the Iris Data Set.
const trainingExamples = require( 'wink-perceptron/sample-data/iris-train.json' );
const testData = {
setosa: { sepalLength: 4.9, sepalWidth: 3, petalLength: 1.4, petalWidth: 0.2 },
versicolor: { sepalLength: 6.4, sepalWidth: 3.2, petalLength: 4.5, petalWidth: 1.5 },
virginica: { sepalLength: 7.2, sepalWidth: 3.6, petalLength: 6.1, petalWidth: 2.5 }
};
var winkPerceptron = require( 'wink-perceptron' );
var perceptron = winkPerceptron();
perceptron.defineConfig( { shuffleData: true, maxIterations: 21 } );
perceptron.learn( trainingExamples );
console.log( perceptron.predict( testData.setosa ) );
console.log( perceptron.predict( testData.versicolor ) );
console.log( perceptron.predict( testData.virginica ) );
Try experimenting with this example on Runkit in the browser.
Documentation
Check out the perceptron API documentation to learn more.
Need Help?
If you spot a bug and the same has not yet been reported, raise a new issue or consider fixing it and sending a pull request.
About wink
Wink is a family of open source packages for Statistical Analysis, Natural Language Processing and Machine Learning in NodeJS. The code is thoroughly documented for easy human comprehension and has a test coverage of ~100% for reliability to build production grade solutions.
Copyright & License
wink-perceptron is copyright 2017-18 GRAYPE Systems Private Limited.
It is licensed under the terms of the MIT License.