博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BP神经网络数据预测实例代码
阅读量:3949 次
发布时间:2019-05-24

本文共 1101 字,大约阅读时间需要 3 分钟。

在这里插入图片描述

clear allclc%%清空环境变量%1.导入数据load data%2.随机产生训练集和测试集temp = randperm(size(DATA,1));%打乱60个样本的顺序%训练集——50个样本P_train = DATA(temp(1:50),:)';T_train = DATA2(temp(1:50),:)';%测试集——10个样本P_test = DATA(temp(51:end),:)';T_test = DATA2(temp(51:end),:)';N=size(P_test,2);%3.数据归一化[p_train,ps_input] = mapminmax(P_train,0,1);p_test = mapminmax('apply',P_test,ps_input);[t_train,ps_output] = mapminmax(T_train,0,1);%4.创建网络net = newff(p_train,t_train,9);% 9是隐含层神经元的个数%5.设置训练参数net.trainParam.epochs = 1000; %迭代次数net.trainParam.goal = 1e-3; %mse均方根小于这个值训练结束net.trainParam.lr = 0.01; %学习率%6.训练网络net = train(net,p_train,t_train);%7.仿真测试t_sim = sim(net,p_test); %返回10个样本的预测值%8.数据反归一化T_sim = mapminmax('everse',t_sim,ps_output);%反归一化结果 %9.性能评价error = abs(T_sim-T_test)./T_test; %相对误差的计算%决定系数R2R2 = (N*sum(T_sim.*T_test)-sum(T_sim)*sum(T_test))^2/((N*sum((T_sim).^2)-(sum(T_sim))^2)*(N*sum((T_test).^2)-(sum(T_test))^2));%结果对比result = [T_test' T_sim' error'] %输出真实值,预测值,误差%10.绘图figureplot(1:N,T_test,'b:*',1:N,T_sim,'r-o')legend('真实值','预测值')xlabel('预测样本')ylabel('辛烷值')string = {'测试集辛烷值含量预测结果对比':['R^2=num2str(R2)']};title(string)

转载地址:http://oigwi.baihongyu.com/

你可能感兴趣的文章
Qt动态加载动态库
查看>>
java8新特性
查看>>
git clone时RPC failed; curl 18 transfer closed with outstanding read data remaining
查看>>
Java8内存模型—永久代(PermGen)和元空间(Metaspace)
查看>>
maven中jar、war、pom的区别
查看>>
maven之pom.xml配置文件详解
查看>>
java基础学习之抽象类与接口的区别
查看>>
java基础学习之包、类、方法、属性、常量的命名规则
查看>>
java基础知识学习之匿名内部类
查看>>
SSM框架和SSH框架的区别
查看>>
Elasticsearch-基础介绍及索引原理分析
查看>>
过滤敏感词算法
查看>>
linux学习之shell脚本if判断参数-n,-d,-f等
查看>>
linux学习之windos文件在linux里面乱码解决
查看>>
idea快捷键
查看>>
linux学习之shell遍历数组
查看>>
python函数取参及默认参数使用
查看>>
linux学习之shell中的${},##, %% , :- ,:+, ? 的使用
查看>>
Spring学习之Filter、Interceptor、Aop实现与区别
查看>>
Spring 添加@Autowired注释, 注入对象却为空
查看>>