zoukankan      html  css  js  c++  java
  • 数学之路(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('
    ')
    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'
    训练神经网络中...'
    err = bpnet.train(myinput, mytarget, epochs=800, show=5, goal=0.0005)
    if err[len(err)-1]>0.001:
        print u'
    训练神经网络失败...
    '
    else:
        print u'
    训练神经网络完毕'    
    
    
    
    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:ook_progann_bpdatanh2.py', wdir=r'K:ook_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


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


  • 相关阅读:
    Js学习第十天----函数
    IOS Object和javaScript相互调用
    hadoop2.7.1 nutch2.3 二次开发windows环境
    交叉熵代价函数(作用及公式推导)
    推断dxf文件的版本号
    mahout in Action2.2-聚类介绍-K-means聚类算法
    Xcode 技巧充电篇
    Android 推断SD卡是否存在及容量查询
    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定
    pip简单配置
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3303916.html
Copyright © 2011-2022 走看看