我想做一个小项目,我想在 python 中使用神经网络。我发现 pybrain 是最好的解决方案。但是直到现在,我发现的所有示例和问题都无济于事。
我有一个数字序列。数百行。缺少一些值,而不是数字,有一个“x”。
例如
1425234838636**x**40543485435097**x**43953458345345430843967067045764607457607645067045**x**04376037654067458674506704567408576405
等等。这只是一个例子。不是我的顺序。
我想一一读取这些值并训练我的神经网络,当我找到一个“x”时,我会预测这个数字,然后我会继续用以下数字训练它。
到目前为止,我发现的是这样的训练
trainSet.addSample([0,0,0,0],[1])
有一些输入和一些输出。
有什么建议我该如何继续?
编辑:我想出了一些东西,我想收到反馈,因为我不知道它是否正确。
我仍然有上面的字符串。我将它拆分为列表,因此我有一个列表,其中每个实体都是一个数字。
for ind in range(len(myList)):
if not myList[ind] == "x" and not myList[ind+1]=="x":
ds.addSample(myList[ind],myList[ind+1])
else:
break
net = FeedForwardNetwork()
inp = LinearLayer(1)
h1 = SigmoidLayer(1)
outp = LinearLayer(1)
net.addOutputModule(outp)
net.addInputModule(inp)
net.addModule(h1)
net.addConnection(FullConnection(inp, h1))
net.addConnection(FullConnection(h1, outp))
net.sortModules()
trainer = BackpropTrainer(net, ds)
trainer.trainOnDataset(ds,1000)
trainer.testOnData(verbose=True)
lis[ind+1] = net.activate((ind,))
GO to the beggining and continue from the last "x" which replaced from the net.activate()
你怎么看?你相信这样的事情会奏效吗?