Python 什么是完全错误?它告诉我们什么

Python 什么是完全错误?它告诉我们什么,python,pybrain,Python,Pybrain,所以我对python和pybrain非常陌生,但我在网上找到了一段代码,并在上面运行了我自己的数据。当我看到python外壳时,我看到的是 Total error: 0.119794950183 Total error: 0.120078064472 Total error: 0.119334171755 Total error: 0.119215954708 Total error: 0.119876371059 Total error: 0.119621091587 Total error:

所以我对python和pybrain非常陌生,但我在网上找到了一段代码,并在上面运行了我自己的数据。当我看到python外壳时,我看到的是

Total error: 0.119794950183
Total error: 0.120078064472
Total error: 0.119334171755
Total error: 0.119215954708
Total error: 0.119876371059
Total error: 0.119621091587
Total error: 0.119983293587
Total error: 0.119849213731
Total error: 0.119638354788
Total error: 0.119574076444
Total error: 0.119634911454
Total error: 0.119601510912
Total error: 0.119665039573
Total error: 0.11944303853
Total error: 0.11950617361
Total error: 0.120088611572
Total error: 0.119774446939
Total error: 0.120016814426
Total error: 0.119605678505
Total error: 0.119998864263
Total error: 0.120071472045
Total error: 0.11973079242
Total error: 0.119790825048
Total error: 0.119558913137
Total error: 0.12024443015
Total error: 0.119525196587
Total error: 0.12008456943
Total error: 0.119641361568
Total error: 0.119745707444
Total error: 0.120065315199
1) 总误差意味着什么?它在做什么

这是密码

from pybrain.datasets import SupervisedDataSet
from pybrain.tools.shortcuts import buildNetwork
from pybrain.supervised.trainers import BackpropTrainer

from pybrain.datasets            import ClassificationDataSet
from pybrain.utilities           import percentError
from pybrain.tools.shortcuts     import buildNetwork
from pybrain.supervised.trainers import BackpropTrainer
from pybrain.structure.modules   import SoftmaxLayer

from pylab import ion, ioff, figure, draw, contourf, clf, show, hold, plot
from scipy import diag, arange, meshgrid, where
from numpy.random import multivariate_normal

ds = SupervisedDataSet(2,1)

tf = open('weather.csv','r')

for line in tf.readlines():
    try:
        data = [float(x) for x in line.strip().split(',') if x != '']
        indata =  tuple(data[:2])
        outdata = tuple(data[2:])
        ds.addSample(indata,outdata)
    except ValueError,e:
            print "error",e,"on line"

n = buildNetwork(ds.indim,8,8,ds.outdim,recurrent=True)
t = BackpropTrainer(n,learningrate=0.01,momentum=0.5,verbose=True)
t.trainOnDataset(ds,5000)
t.testOnData(verbose=True)

回答您关于“它告诉我们什么”的问题:查看总错误可以让您合理地猜测,如果训练时间更长,您的网络是否可以做得更好。如果总的错误在一次迭代到下一次迭代时发生了很大的变化,那么这将是一个信号,表明它尚未稳定到最终状态。可能值得查看以下链接:

在这里,您将看到有关trainEpochs和TrainUntil Convergence的参考。您看到的总体错误表明(尽管它不能证明)您的网络已聚合到最终状态,并且通过额外的培训不会有多大改善


总之,如果你的视觉总误差在停止训练时看起来相当稳定,而在你的情况下,它确实如此,那么你可能不必担心它。只需查看测试输出,确定您的网络是否能够满足您的需求。

那么,您的代码在哪里?您是否正在使用PyBrain安装某种模型?例如,如果要拟合回归模型,这可能是平方误差之和,有时称为总误差。这可能是一个常见的错误术语,适用于任何模型类。此外,weather.csv文件仅为1或0。有2个输入和1个输出时,输出为是否下雨。例如:rain=1 no rain=0是否有一种方法可以将代码编码到python中以找到正确的百分比。例如,输出可以是1或0。如果人工神经网络的预测值是0.58,那么实际答案是1。我想让python说,ANN确实正确了,因为它大约是.50。。。所以ANN在上面预测的任何东西,实际值是1,应该说ANN是正确的。反之亦然。我希望这是有意义的。好吧,我想你可以在一个循环中使用它:“train()对相关模块进行一个历元的训练”…然后检查所有案例,看看你是否完成了。但您也可以尝试将其建模为一个分类网络(两个类有两个输出,我们将其解释为1或0)。这里有一个例子:谢谢你的帮助Rossdavh:)