Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
交叉验证-TypeError:只有长度为1的数组才能转换为Python标量_Python_Pybrain - Fatal编程技术网

交叉验证-TypeError:只有长度为1的数组才能转换为Python标量

交叉验证-TypeError:只有长度为1的数组才能转换为Python标量,python,pybrain,Python,Pybrain,我正在尝试使用交叉验证程序对我的数据执行交叉验证任务。但是,它不起作用,但却给了我以下错误: Traceback (most recent call last): File "/home/sfalk/workspace/SemEval2016/java/semeval2016-python/semeval_slot1_pybrain_cv.py", line 173, in <module> evaluation = ModuleValidator.classificat

我正在尝试使用
交叉验证程序
对我的数据执行交叉验证任务。但是,它不起作用,但却给了我以下错误:

Traceback (most recent call last):
  File "/home/sfalk/workspace/SemEval2016/java/semeval2016-python/semeval_slot1_pybrain_cv.py", line 173, in <module>
    evaluation = ModuleValidator.classificationPerformance(trainer.module, ds)
  File "/usr/local/lib/python2.7/dist-packages/pybrain/tools/validation.py", line 168, in classificationPerformance
    dataset)
  File "/usr/local/lib/python2.7/dist-packages/pybrain/tools/validation.py", line 204, in validate
    return valfunc(output, target)
  File "/usr/local/lib/python2.7/dist-packages/pybrain/tools/validation.py", line 33, in classificationPerformance
    return float(n_correct) / float(len(output))
TypeError: only length-1 arrays can be converted to Python scalars

有没有关于这个问题的建议?

@KennyOstrom好吧,看来它是一个
np.array([])
而不是一个标量..好了。验证器是正确的,错误消息是准确的。@KennyOstrom好吧,它似乎是一个
np.array([])
而不是一个标量。好了。验证程序是正确的,错误消息是准确的。
trainer = BackpropTrainer( fnn, momentum=0.1, verbose=False, weightdecay=0.0)

for j in range(len(X_train)):

    x = X_train[j]
    y = Y_train[j]

    ds = SupervisedDataSet(len(x), len(y))
    ds.addSample(x, y)

    trainer.trainOnDataset(dataset=ds)


trainer = BackpropTrainer(fnn, ds)
evaluation = ModuleValidator.classificationPerformance(trainer.module, ds)
validator = CrossValidator(trainer=trainer, dataset=trainer.ds, n_folds=5, valfunc=evaluation)
print(validator.validate())