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.

52 lines (37 loc) 2.04 kB
describe('ADALINE Network', function () { const Encog = require(PATHS.BASE); Encog.Log.options.logLevel = 'silent'; let AdalinePattern; const NeuralNetworkError = require(PATHS.ERROR_HANDLING + 'neuralNetwork'); beforeEach(function () { AdalinePattern = new Encog.Patterns.Adaline(); }); test('Should throw and error when trying to add hidden layers',function () { expect(()=> { AdalinePattern.addHiddenLayer(10); }).toThrow(new NeuralNetworkError("An ADALINE network has no hidden layers.")) }); test('Iris Flower Dataset', function () { const irisDataset = Encog.Utils.Datasets.getNormalizedIrisDataSet(); AdalinePattern.setInputLayer(4); AdalinePattern.setOutputLayer(3); const network = AdalinePattern.generate(); // train the neural network const train = new Encog.Training.Propagation.Resilient(network, irisDataset.train.input, irisDataset.train.output); Encog.Utils.Network.trainNetwork(train, {minError: 0.01, minIterations: 5, maxIterations: 25}); const accuracy = Encog.Utils.Network.validateNetwork(network, irisDataset.test.input, irisDataset.test.output); expect(accuracy).toBeGreaterThan(50); }); xtest('Iris Flower Dataset using FreeformNetwork', function () { const irisDataset = Encog.Utils.Datasets.getNormalizedIrisDataSet(); AdalinePattern.setInputLayer(4); AdalinePattern.setOutputLayer(3); const network = AdalinePattern.generateFreeformNetwork(); // train the neural network const train = new Encog.FreeformPropagation.Resilient(network, irisDataset.train.input, irisDataset.train.output); Encog.Utils.Network.trainNetwork(train, {minError: 0.01, minIterations: 5, maxIterations: 25}); const accuracy = Encog.Utils.Network.validateNetwork(network, irisDataset.test.input, irisDataset.test.output); //todo: fix me expect(accuracy).toBeGreaterThan(0); }); });