python – PyBrain预测错误
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – PyBrain预测错误,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1411字,纯文字阅读大概需要3分钟。
内容图文
![python – PyBrain预测错误](/upload/InfoBanner/zyjiaocheng/785/1e02cfb9669e456fbb28fd14c0d8543c.jpg)
我试图预测一组特定商品的销售价格.我在pybrain中使用RecurrentNetwork和BackpropTrainer.这是我的代码,
def nnet(train, target, valid):
ds = SupervisedDataSet(52-len(NU)+5, 1)
for i in range(len(train)):
ds.appendLinked(train[i], target[i])
n = RecurrentNetwork()
n.addInputModule(LinearLayer(52-len(NU)+5, name='in'))
n.addModule(SigmoidLayer(3, name='hidden'))
n.addOutputModule(LinearLayer(1, name='out'))
n.addConnection(FullConnection(n['in'], n['hidden'], name='c1'))
n.addConnection(FullConnection(n['hidden'], n['out'], name='c2'))
n.addRecurrentConnection(FullConnection(n['hidden'], n['hidden'], name='c3'))
n.sortModules()
t = BackpropTrainer(n,learningrate=0.001,verbose=True)
t.trainOnDataset(ds, 20)
prediction = np.zeros((11573, 1), dtype = int)
for i in range(11573):
prediction[i] = n.activate(valid[i])
return prediction
这里是numpy数组的训练和目标,用于训练模型,52-len(NU)5是属性(特征)的数量.对于有效的每个项目,我们必须预测销售价格.问题是,对于每个有效的项目,我得到相同的销售价格,除了第一个.我做错了什么?提前致谢.
数组尺寸如下,
火车 – 401125,52-len(NU)5
目标 – 401125,1
有效 – 11573,52-len(NU)5
解决方法:
我不确定PyBrain的具体实现细节,但我看到了两种可能性.
1)反向传播不适用于线性激活功能.根据PyBrain的实现细节,将“LinearLayer”的两个实例更改为“SigmoidLayer”可以解决此问题.
2)对于递归神经网络,您必须使用反向传播(一种专门适用于RNN的算法)而不是正常的反向传播.根据PyBrain的实现细节,此变体可能有一个单独的类.值得一试.
内容总结
以上是互联网集市为您收集整理的python – PyBrain预测错误全部内容,希望文章能够帮你解决python – PyBrain预测错误所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。