将PyBrain预测的输出作为数组获取

7

我正在使用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)

这里的train是一个Dataset类型。我想将trainer.testOnData()产生的预测结果作为numpy数组获取。虽然我能够查看预测结果以及误差,但我希望它能以数组形式出现。有没有办法可以实现这个目标?

1个回答

4

使用您的网络的activate函数:

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

完整示例:

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

(仅在pybrain/examples/supervised/backprop目录下工作,因为需要XORDataSet)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接