2011-04-22 41 views
4

我想对我的数据使用交叉验证器,但我得到0.0成功率,这是没有意义的。pybrain交叉验证方法的问题

我的数据由具有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?文件不清楚。

+0

使用你有没有解决这个问题? – displayname 2015-11-17 15:08:29

+0

我想我放弃了这个库的使用。 – Uri 2015-11-17 16:44:21

+0

我想我开始明白为什么..任何替代方案的建议? ^^ – displayname 2015-11-17 16:55:13

回答

-3

我神经网络的工作压力太大,我建议你用Python绑定检查FANN library,它的更好,更容易比pybrain