将pybrain预测输出作为数组

vip*_*per 7 python numpy machine-learning neural-network pybrain

我正在利用pybrain构建一个具有6个输入维度和一个实值输出维度的网络.我使用的代码如下所示:

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

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

print 'MSE train', trainer.testOnData(train, verbose = True)
Run Code Online (Sandbox Code Playgroud)

这里的火车是Dataset的类型我想把在trainer.testOnData()中做出的预测作为一个numpy数组.我能够查看预测结果以及错误,但我希望它作为一个数组.无论如何,这可以做到吗?

alf*_*lfa 4

使用activate您的网络功能:

numpy.array([network.activate(x) for x, _ in train])
Run Code Online (Sandbox Code Playgroud)

完整示例:

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])
Run Code Online (Sandbox Code Playgroud)

(仅适用于 pybrain/examples/supervised/backprop 目录,因为需要 XORDataSet。)