首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

这里有份Neupy库资料等待你接收

Neupy是一个人工神经网络的Python库。Nupy支持许多不同类型的神经网络从一个简单的感知器到深度学习模型。

使用指南

(一)安装Neupy :教程学习;了解多种不同的神经网络算法;阅读文章,学习更多有关神经网络的知识(链接、教程、文献资料、文章等)。

(二)神经网络的超参数优化 、可视化反向传播算法 、MNIST分类法 、离散Hopfield网络。

相关知识点

(一)卷积神经网络

(二)强化学习

(三)循环神经网络

(四)自编码器

(五)玻耳兹曼机

(六)MLP神经网络

(七)竞争神经网络

(八)径向基函数神经网络

(九)基于记忆的神经网络

实例演示

#主题:用Neupy实现泥石流数据中对“平均流速”的预测.

#选题来源:《基于BP神经网络的泥石流平均流速预测》

#作者:瑞翼工坊 夏水稻 李娇 刘妮

#时间:2018.06.02

import numpy as np

def read_csv_file(csv_filename):

#读取文件变量名称

csv_file = open(csv_filename)

csv_header = csv_file.readline()

csv_header_length = len(csv_header)

csv_header = csv_header[0:csv_header_length-1]#除去结尾的换行符号

csv_var_name = csv_header.split(',')#用“,”将读取的字段分隔开

csv_file.close()

#读取文件数值

csv_data = np.loadtxt(csv_filename,dtype='float32', delimiter=',',skiprows=1)

return [csv_var_name, csv_data ]

def data_standardization(input_data,primary_data,standardized_method):

#数据标准化

shape = input_data.shape

normal_data = np.empty(shape,dtype='float32')#构建一个特定空矩阵

for i in range(0,shape[1]):# 每一列都做标准化

data_max = np.max(primary_data[:,i])

data_min = np.min(primary_data[:,i])

data_mid = (data_max+data_min)/2

if standardized_method == '[0 1] normalization' :# 映射到 0 1 之间

normal_data[:,i] =(input_data[:,i] - data_min)/(data_max-data_min)

elif standardized_method == '[-1 1] normalization':# 映射到 -1 1 之间

normal_data[:,i] =2*(input_data[:,i] - data_mid)/(data_max-data_min)

else:

input('标准化方式有误')

return normal_data

filename = 'training_data.csv'#读取训练数据集

[var_name, training_data ] = read_csv_file( filename )

normal_data = data_standardization(training_data,training_data,'[-11] normalization')

x_train = normal_data[:,1:5 ]

y_train = normal_data[:, 5 ]

filename = 'test_data.csv'#读取测试数据集

[var_name, test_data ] = read_csv_file( filename )

normal_data = data_standardization(test_data,training_data,'[-1 1] normalization')

x_test = normal_data[:,1:5 ]

y_test = normal_data[:,5]

from sklearn.model_selection import train_test_split

from neupy import environment

environment.reproducible()

from neupy import algorithms, layers#设置具体的迭代层数

cgnet = algorithms.ConjugateGradient(

connection=[

layers.Input(4),

layers.Tanh(10),

layers.Tanh(5),

layers.Tanh(1),

],

search_method='golden',

show_epoch=3,

verbose=True,

addons=[algorithms.LinearSearch],

)

cgnet.train(x_train, y_train, x_test, y_test, epochs=20)

#作图

from neupy import plots

plots.error_plot(cgnet)

from neupy.estimators import rmsle

y_predict = cgnet.predict(x_test).round(1)

print('++++++')

成果展示图

(请横屏观看)

主代码:

注:此次代码主要服务于论文

《基于BP神经网络的泥石流平均流速预测》

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180611G1IAX500?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券