2013-04-22 17 views
7

Korzystam z pybrain do zbudowania sieci, która ma 6 wymiarów wejściowych i jeden rzeczywisty wymiar wyjściowy. Kod używam jest pokazany poniżej:Uzyskiwanie wyników prognozy pibrain jako tablicy

network = buildNetwork(train.indim, 4, train.outdim) 

trainer = BackpropTrainer(network, train) 
trainer.trainOnDataset(train, 8000) 

print 'MSE train', trainer.testOnData(train, verbose = True) 

tu pociąg jest typu zestawów danych Chcę dostać prognoz wykonanych w trainer.testOnData() jako numpy tablicy. Jestem w stanie wyświetlić przewidywany wynik wraz z błędem, ale chcę go jako tablicę. Czy mimo to można to zrobić?

Odpowiedz

4

Użyj funkcji activate swojej sieci:

numpy.array([network.activate(x) for x, _ in train]) 

Kompletna przykład:

from datasets import XORDataSet 
from pybrain.tools.shortcuts import buildNetwork 
from pybrain.supervised import BackpropTrainer 
import numpy 
d = XORDataSet() 
n = buildNetwork(d.indim, 4, d.outdim, bias=True) 
t = BackpropTrainer(n, learningrate=0.01, momentum=0.99, verbose=True) 
t.trainOnDataset(d, 1000) 
t.testOnData(verbose=True) 
print numpy.array([n.activate(x) for x, _ in d]) 

(działa tylko w pybrain katalogu/przykłady/nadzorowane/backprop z pybrain ponieważ XORDataSet jest wymagane.)

Powiązane problemy