Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 400,000 packages pre-installed, including wink-perceptron with all npm packages installed. Try it out:

/* eslint-disable no-console */ // Load training data from Iris Data Set obtained // from UCI Machine Learning Repository. const trainingData = require( 'wink-perceptron/sample-data/iris-train.json' ); // Initialize a test data sample. 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 } }; // Load wink perceptron. var winkPerceptron = require( 'wink-perceptron' ); // Instantiate wink perceptron. var perceptron = winkPerceptron(); // Define configurtaion. perceptron.defineConfig( { shuffleData: true, maxIterations: 21 } ); // Learn from training data. perceptron.learn( trainingData ); // Attempt prediction for each iris plant type. console.log( perceptron.predict( testData.setosa ) ); // -> Iris-setosa console.log( perceptron.predict( testData.versicolor ) ); // -> Iris-versicolor console.log( perceptron.predict( testData.virginica ) ); // -> Iris-virginica

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

wink-perceptron v2.0.0

Multi-class averaged perceptron

wink-perceptron

Multi-class averaged perceptron

Build Status Coverage Status Inline docs dependencies Status devDependencies Status Gitter

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.

// Load training data — the Iris Data Set obtained from
// UCI Machine Learning Repository; it has been converted
// into JSON format.
// You may need to update the path in the "require" statement
// according to your working directory.
const trainingExamples = require( 'wink-perceptron/sample-data/iris-train.json' );
// Initialize a test data sample.
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 }
};

// Load wink perceptron.
var winkPerceptron = require( 'wink-perceptron' );
// Instantiate wink perceptron.
var perceptron = winkPerceptron();
// Define configurtaion.
perceptron.defineConfig( { shuffleData: true, maxIterations: 21 } );
// Learn from training data.
perceptron.learn( trainingExamples );

// Attempt prediction for each iris plant type.
console.log( perceptron.predict( testData.setosa ) );
// -> Iris-setosa
console.log( perceptron.predict( testData.versicolor ) );
// -> Iris-versicolor
console.log( perceptron.predict( testData.virginica ) );
// -> Iris-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.

Metadata

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free