pybrain NN Параметры инструмента регрессии
Я пытаюсь использовать NNregression
инструмент в Pybrain: http://pybrain.org/docs/api/tools.html
У меня есть набор данных:
ds = SupervisedDataSet(20,1)
for x, y in zip(inputs, outputs):
ds.appendLinked(x,y)
И я могу заставить сеть обучаться со следующей инициализацией...
n = NNregression(ds)
... но он внезапно останавливается со следующей ошибкой:
epoch 1000 total error 8.5458 avg weight 6.28
epoch 1001 total error 8.5313 avg weight 6.2823
epoch 1002 total error 8.5149 avg weight 6.2851
epoch 1003 total error 8.5003 avg weight 6.2882
epoch 1004 total error 8.4801 avg weight 6.2922
Traceback (most recent call last):
File "regression.py", line 108, in <module>
trainer = BackpropTrainer(n, ds, verbose = True)
File "/mounts/u-zon-d2/ugrad/kmwe236/pybrain/pybrain/supervised/trainers/backprop.py", line 37, in __init__
self.setData(dataset)
File "/mounts/u-zon-d2/ugrad/kmwe236/pybrain/pybrain/supervised/trainers/trainer.py", line 22, in setData
assert dataset.indim == self.module.indim
Поэтому я попытался изменить параметры, чтобы они включали, помимо прочего, валидаторы и тестовые наборы, как это запрашивается в документации:
val_data = SupervisedDataSet(20,1)
for x, y in zip(validator_inputs, validator_outputs):
val_data.appendLinked(x,y)
test_data = SupervisedDataSet(20,1)
for x, y in zip(prediction_inputs, prediction_outputs):
test_data.appendLinked(x,y)
n = NNregression(dataset=ds, hidden=3, TDS=test_data, VDS=val_data, epoinc=750)
Но потом, когда я пытаюсь выполнить его, он жалуется на количество параметров:
violet:~/pybrain> python regression.py
Traceback (most recent call last):
File "regression.py", line 95, in <module>
n = NNregression(dataset=ds, hidden=3, tds=test_data, vds=val_data, epoinc=750)
TypeError: __init__() takes exactly 2 arguments (1 given)
1 ответ
По крайней мере, для меня он не распознал ключевое слово "набор данных". Он получает 1 параметр (self), но ожидает self и набор данных. Попробуйте изменить строку на:
n = NN-регрессия (ds, скрытый =3, tds=test_data, vds=val_data, epoinc=750)