Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.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
Python PyBrain-如何根据测试数据验证我训练的网络?_Python_Machine Learning_Artificial Intelligence_Classification_Pybrain - Fatal编程技术网

Python PyBrain-如何根据测试数据验证我训练的网络?

Python PyBrain-如何根据测试数据验证我训练的网络?,python,machine-learning,artificial-intelligence,classification,pybrain,Python,Machine Learning,Artificial Intelligence,Classification,Pybrain,所以我在PyBrain中有一个分类数据集,我用适当的数据对它进行了训练。即,输入如下: trainSet.addSample([0,0,0,0],[1]) trainSet.addSample([0,0,0,1],[0]) trainSet.addSample([0,0,1,0],[0]) trainSet.addSample([0,0,1,1],[1]) trainSet.addSample([0,1,0,0],[0]) trainSet.addSample([0,1,0,1],[1]) tr

所以我在PyBrain中有一个分类数据集,我用适当的数据对它进行了训练。即,输入如下:

trainSet.addSample([0,0,0,0],[1])
trainSet.addSample([0,0,0,1],[0])
trainSet.addSample([0,0,1,0],[0])
trainSet.addSample([0,0,1,1],[1])
trainSet.addSample([0,1,0,0],[0])
trainSet.addSample([0,1,0,1],[1])
trainSet.addSample([0,1,1,0],[1])
trainSet.addSample([0,1,1,1],[0])
trainSet.addSample([1,0,0,0],[0])
trainSet.addSample([1,0,0,1],[1])
模式很简单。如果有偶数个1,则输出应为1,否则为0。我想运行以下输入:

[1,0,0,1],[1]
[1,1,0,1],[0]
[1,0,1,1],[0]
[1,0,1,0],[1]
看看神经网络是否能识别这种模式。如前所述,我已经对网络进行了培训。如何根据上述输入对其进行验证

谢谢你的时间

你首先必须和

然后,您必须使用从输入中获取结果,并测试它是否与所需的输出匹配

一个简单的方法是:

testOutput = { [1,0,0,1] : [1], [1,1,0,1] : [0], [1,0,1,1]:[0], [1,0,1,0]:[1] }

for input, expectedOutput in testInput.items():
    output = net.activate(input)
    if output != expectedOutput:
        print "{} didn't match the desired output." 
        print "Expected {}, got {}".format(input, expectedOutput, output)

.activate()返回什么?我一直在弄花车,这让我很困惑。。是否需要解释?添加了文档链接(激活时);我不是PyBrain用户,目前正在安装该软件包以对该方法进行最低限度的测试。Oops。我把你的数据集错当成了网络。添加了一些链接来澄清问题。嘿,非常感谢你的努力!!!我已经创建了一个网络和一个数据集,并使用该数据集对网络进行了培训。。然而。。我不断得到有趣的结果。。在我对这些值调用activate之后,比如[[0.][0.64476526][0.54229964][0.3103782]]。。你能告诉我这些值是什么意思吗?返回的值取决于你使用的网络类型。我猜有些网络会在数据集中给定的输入之间进行某种插值。(并且可能不会返回您提供给他们的确切数据)