我正在尝试在我的数据上使用交叉验证器,但我的成功率为0.0,这没有用。
我的数据由具有5个连续属性和两个可能类别的样本组成:“y”和“n”。
我的代码:
net = pybrain.tools.shortcuts.buildNetwork(5, 8, 1)
trainer = BackpropTrainer(net, ds)
evaluation = ModuleValidator.classificationPerformance(trainer.module, ds)
validator = CrossValidator(trainer=trainer, dataset=trainer.ds, n_folds=5, valfunc=evaluation)
print(validator.validate())
当我正在进行这样的常规训练时
print(trainer.train())
我得到了合理的错误率,所以我猜这意味着数据集和网络都没问题,问题出现在交叉验证器中。
有什么想法吗?
更新
我查看了交叉验证代码并注意到我的网络输出连续值而不是0/1。我猜这些是每个班级的概率。当模型在交叉验证方法中使用时,它没有考虑到这一点,这意味着所有答案都被视为flase,我得到0正确的答案。如何添加一个查看连续值的图层,并根据较大的值返回0或1?文件不清楚。