Encog-Node
Encog-Node is a Node.js port of the popular Encog Machine Learning Framework by Jeff Heaton.
All credits of the framework should go to Jeff Heaton - http://www.heatonresearch.com/encog/
Currently based on the encog-javascript v1.0 - https://github.com/encog/encog-javascript
Installation
npm install encog-node
Usage
Just require the library and all of ENCOG namespace will be available to you,
var ENCOG = ;
Example
The example code below will build a simple XOR Neural Network, the code is included in examples\xor.js
var ENCOG = ; var XOR_INPUT = 0 0 1 0 0 1 1 1; var XOR_IDEAL = 0 1 1 0; var network = ENCOGnetworksbasic; network; var train = ENCOGtrainerspropagation; var iteration = 1; do train; var trainResultString = "Training Iteration #" + iteration + ", Error: " + trainerror; console; iteration++; while iteration < 1000 && trainerror > 001; var input = 0 0;var output = ; console; for var i = 0; i < XOR_INPUTlength; i++ output = network; var testResultString = "Input: " + StringXOR_INPUTi0 + " ; " + StringXOR_INPUTi1 + " Output: " + Stringoutput0 + " Ideal: " + StringXOR_IDEALi0; console;
Will display,
>node index.js
Training Iteration #1, Error: 0.33306242864283925
Training Iteration #2, Error: 0.30684930995968274
Training Iteration #3, Error: 0.2816136873215376
Training Iteration #4, Error: 0.2614275886340755
..........
..........
..........
Training Iteration #44, Error: 0.010807377445510056
Training Iteration #45, Error: 0.005187735146628829
Testing neural network
Input: 0 ; 0 Output: 0.000056493461985276595 Ideal: 0
Input: 1 ; 0 Output: 0.9995493238264583 Ideal: 1
Input: 0 ; 1 Output: 0.9987763730629743 Ideal: 1
Input: 1 ; 1 Output: 0.08974271940228784 Ideal: 0
Running included examples
The examples are included in the examples
folder
The XOR example can be simply run by,
var ENCOG = ; ENCOGexamples;
The Iris flower data set example can be run by,
var ENCOG = ; ENCOGexamples;
Node.js version compatibility
Should work on all Node.js versions. Tested up to Node.js v6.3.0
Credits
Credits should go to Jeff Heaton for the original Encog Machine Learning Framework - http://www.heatonresearch.com/about/
The capabilities of the framework are explained here by the author : http://www.codeproject.com/Articles/477689/JavaScript-Machine-Learning-and-Neural-Networks-wi
Contributors
- Thimira Amaratunga - Originally ported Encog to Node.js
- Rui Cardoso