2013-04-22 50 views
7

Tôi đang sử dụng pybrain để xây dựng một mạng có 6 thứ nguyên đầu vào và một thứ nguyên đầu ra có giá trị thực. Code tôi sử dụng được hiển thị dưới đây:Nhận đầu ra của dự đoán pybrain là mảng

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

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

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

đây tàu là loại Dataset Tôi muốn nhận được những tiên tri trong trainer.testOnData() như là một mảng NumPy. Tôi có thể xem kết quả dự đoán cùng với lỗi nhưng tôi muốn nó như là một mảng. Có anyway rằng điều này có thể được thực hiện?

Trả lời

4

Sử dụng activate chức năng của mạng của bạn:

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

Hoàn dụ:

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]) 

(Chỉ làm việc trong thư mục pybrain/ví dụ/giám sát/backprop của pybrain vì XORDataSet là bắt buộc.)