示例#1
0
 def _testTrainingOnClassificationDataset(self):
     DS = ClassificationDataSet(2, class_labels=['Zero', 'One'])
     DS.appendLinked([ 0, 0 ] , [0])
     DS.appendLinked([ 0, 1 ] , [0])
     DS.appendLinked([ 1, 0 ] , [0])
     DS.appendLinked([ 1, 1 ] , [1])
     
     network = buildNetwork(DS.indim, 5, 2, outclass=SoftmaxLayer)
     trainer = BackpropTrainer( network, momentum=0.1, verbose=True, weightdecay=0.01)
     
     nnf = NeuralNetworkFactory(network, trainer, seed=2, iterationsNum=20)
     nnClassifier = nnf.buildClassifier(DS)
     
     self.assertEqual(nnClassifier.getPrediction([0, 0]), 0) 
     self.assertEqual(nnClassifier.getPrediction([0, 1]), 0)
     self.assertEqual(nnClassifier.getPrediction([1, 0]), 0)
     self.assertEqual(nnClassifier.getPrediction([1, 1]), 1) 
示例#2
0
 def testTrainingOnSepervisedDataset(self):
     DS = SupervisedDataSet(2, 1)
     DS.addSample([ 0, 0 ] , [0])
     DS.addSample([ 0, 1 ] , [1])
     DS.addSample([ 1, 0 ] , [1])
     DS.addSample([ 1, 1 ] , [0])
     
     network = N = buildNetwork(2, 4, 1)
     trainer = BackpropTrainer(N, learningrate = 0.01, momentum = 0.99)
     trainer.verbose = False
     
     nnf = NeuralNetworkFactory(network, trainer, seed=2, iterationsNum=500)
     nnClassifier = nnf.buildClassifier(DS)
     
     self.assertAlmostEqual(nnClassifier.getPrediction([0, 0]), 0, delta=0.01) 
     self.assertAlmostEqual(nnClassifier.getPrediction([0, 1]), 1, delta=0.01)
     self.assertAlmostEqual(nnClassifier.getPrediction([1, 0]), 1, delta=0.01)
     self.assertAlmostEqual(nnClassifier.getPrediction([1, 1]), 0, delta=0.01)