数学之路(3)-机器学习(3)-机器学习算法-神经网络[20]

我们也可以用第三方python的神经网络包来对上节的数据模型进行训练

首先读取数据

#!/usr/bin/env python
#-*- coding: utf-8 -*-
#code:myhaspl@qq.com
#http://blog.csdn.net/myhaspl
import numpy as np
import pylab as pl
import neurolab as nl





print 'http://blog.csdn.net/myhaspl'
print 'myhaspl@qq.com'
print
print u'正在处理中'

#x和d样本初始化
train_x =[]
d=[]
f = open("cubage.csv")  
try:  
    f_text = f.read( ) 
finally:  
    f.close( ) 
x_text=f_text.split('\n')
for line_i in xrange(0,len(x_text)):
    line=x_text[line_i]
    if line_i>1 and len(line)>0:
        train_x.append([])
        hdata=line.split(',')
        train_x[line_i-2].append(float(hdata[0]))
        d.append([float(hdata[1])])

然后开始训练并仿真

本博客所有内容是原创,如果转载请注明来源

http://blog.csdn.net/myhaspl/


print u'\n训练神经网络中...'
err = bpnet.train(myinput, mytarget, epochs=800, show=5, goal=0.0005)
if err[len(err)-1]>0.001:
    print u'\n训练神经网络失败...\n'
else:
    print u'\n训练神经网络完毕'    



pl.subplot(211)
pl.plot(err)  
pl.xlabel('Epoch number')
pl.ylabel('error (default SSE)')
#对样本进行测试
simd= bpnet.sim(myinput)
temp_x=myinput
temp_d=mytarget
simd/=tz
temp_y=simd
temp_d/=tz  

              
x_max=np.max(temp_x)
x_min=np.min(temp_x)-5
y_max=np.max(temp_y)+2
y_min=np.min(temp_y)
    
pl.subplot(212)
pl.xlabel(u"x")
pl.xlim(x_min, x_max)
pl.ylabel(u"y")
pl.ylim(y_min, y_max)
lp_x1 = temp_x
lp_x2 = temp_y
lp_d = temp_d
pl.plot(lp_x1, lp_x2, 'r-')
pl.plot(lp_x1,lp_d,'b*')
>>> runfile(r'K:\book_prog\ann_bpdatanh2.py', wdir=r'K:\book_prog')
http://blog.csdn.net/myhaspl
myhaspl@qq.com


正在处理中


正在建立神经网络


训练神经网络中...
Epoch: 5; Error: 0.00799705870758;
Epoch: 10; Error: 0.000558856952172;
The goal of learning is reached


训练神经网络完毕
>>>
最后数据模型拟合效果图如下:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值