PyBrain – 如何使用测试数据验证我训练的神经网络?

我在PyBrain中有一个ClassificationDataSet,我已经用合适的数据进行了训练。具体来说,输入数据如下:

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]

并查看神经网络是否能识别出这个模式。如前所述,我已经训练了网络。我如何使用上述输入来验证它呢?

感谢您的宝贵时间!


回答:

首先,您需要创建一个网络用您的数据集进行训练

然后,您需要使用activate来获取输入的结果,并测试它是否与期望的输出相匹配。

一种简单的方法是:

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)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注