UNPKG

encog

Version:

Encog is a NodeJs ES6 framework based on the Encog Machine Learning Framework by Jeff Heaton, plus some the of basic data manipulation helpers.

37 lines (27 loc) 1.33 kB
describe('Elman Network', function () { const Encog = require(PATHS.BASE); Encog.Log.options.logLevel = 'silent'; const NeuralNetworkError = require(PATHS.ERROR_HANDLING + 'neuralNetwork'); let ElmanPattern; beforeEach(function () { ElmanPattern = new Encog.Patterns.Elman(); }); test('Should throw and error when trying to add more than one hidden layer', function () { ElmanPattern.addHiddenLayer(10); expect(()=> { ElmanPattern.addHiddenLayer(10); }).toThrow(new NeuralNetworkError("An Elman neural network should have only one hidden layer.")) }); test('XOR through time Dataset', function () { const XORDataset = Encog.Utils.Datasets.getXORThroughTimeDataSet(); ElmanPattern.setInputLayer(1); ElmanPattern.addHiddenLayer(2); ElmanPattern.setOutputLayer(1); const network = ElmanPattern.generate(); // train the neural network const train = new Encog.Training.Propagation.Back(network, XORDataset.input, XORDataset.output); Encog.Utils.Network.trainNetwork(train, {minError: 0.01, minIterations: 5}); const accuracy = Encog.Utils.Network.validateNetwork(network, XORDataset.input, XORDataset.output); expect(accuracy).toBeGreaterThan(40); }); });