机器学习及其matlab实现—从基础到实践——HW3
来源:互联网 发布:二叉树的深度算法 编辑:程序博客网 时间:2024/04/30 02:47
Contents
- I. 清空环境变量
- II. 训练集/测试集产生
- III. 数据归一化
- IV. BP神经网络创建、训练及仿真测试
- V. 性能评价
- VI. 画图
I. 清空环境变量
clear allclc
II. 训练集/测试集产生
1. 导入数据
load concrete_data.mat
2. 随机产生训练集和测试集
temp = randperm(size(attributes,2));% 训练集——80个样本P_train = attributes(:,temp(1:80));T_train = strength(:,temp(1:80));% 测试集——23个样本P_test = attributes(:,temp(81:end));T_test = strength(:,temp(81:end));N = size(P_test,2);
III. 数据归一化
[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);
IV. BP神经网络创建、训练及仿真测试
1. 创建网络
net = newff(p_train,t_train,11);
2. 设置训练参数
net.trainParam.epochs = 1000;net.trainParam.goal = 1e-3;net.trainParam.lr = 0.01;
3. 训练网络
net = train(net,p_train,t_train);
4. 仿真测试
t_sim = sim(net,p_test);
5. 数据反归一化
T_sim = mapminmax('reverse',t_sim,ps_output);
V. 性能评价
1. 绝对误差error
error = abs(T_sim - T_test)./T_test;
2. 决定系数R^2
R2 = (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));
3. 结果对比
result = [T_test' T_sim' error']
result = 28.1600 31.1291 0.1054 52.6500 53.0643 0.0079 30.9700 26.2469 0.1525 38.4600 38.0986 0.0094 41.1400 39.8364 0.0317 30.8300 30.8207 0.0003 36.1900 35.7525 0.0121 32.7100 33.8095 0.0336 41.0100 40.0879 0.0225 32.8400 33.3301 0.0149 33.9100 31.6726 0.0660 38.1900 38.3960 0.0054 26.4200 27.5678 0.0434 17.1900 18.4602 0.0739 35.5200 35.2201 0.0084 49.9700 51.0821 0.0223 48.7700 48.8715 0.0021 46.3600 46.2920 0.0015 31.5000 29.0295 0.0784 42.0800 42.0742 0.0001 36.4600 39.2970 0.0778 44.4800 44.6282 0.0033 58.5300 53.3348 0.0888
VI. 画图
figureplot(1:N,T_test,'b:*',1:N,T_sim,'r-o')legend('真实值','预测值')xlabel('预测样本')ylabel('混凝土抗压强度')string = {'测试集混凝土抗压强度预测结果对比';['R^2=' num2str(R2)]};title(string)
1 0
- 机器学习及其matlab实现—从基础到实践——HW3
- 机器学习及其matlab实现—从基础到实践——HW2
- Python 机器学习——线性代数和矩阵运算:从matlab迁移到python
- 机器学习逻辑回归模型总结——从原理到sklearn实践
- 机器学习逻辑回归模型总结——从原理到sklearn实践
- 机器学习基础(三十五)—— 协同过滤(从匹配用户到匹配商品)
- 机器学习基础(三十八) —— 从几率到逻辑斯函数
- 【机器学习】决策树(上)——从原理到算法实现
- 机器学习5——多元回归及其代码实现
- 机器学习—决策树(ID3算法)及其python实现
- 从作弊到机器学习——足球AI概况
- Spark 机器学习 —— 从决策树到随机森林
- python学习——《python编程从入门到实践》
- MATLAB学习笔记——matlab基础
- 简明机器学习教程——实践篇(一):从感知机入手
- Docker —— 从入门到实践
- Docker —— 从入门到实践
- Docker —— 从入门到实践
- 45天的坚持是否值得——倒数44天
- poll&&epoll实现分析(二)—epoll实现 http://www.embeddedlinux.org.cn/html/yingjianqudong/201405/11-2859.html
- 20个高级Java面试题汇总
- 我一直认为
- 新手笔记之二维数组基础
- 机器学习及其matlab实现—从基础到实践——HW3
- 比较电路交换、分组交换、ATM交换的异同
- Mysql基础语法总结
- 怎么样简单快速的将pdf保存为图片--三部曲
- Codeblocks 574D,DP
- UIday0604:UIControl 的属性和用法
- NSDate 日期类型的使用
- Windows消息机制要点
- springMVC之增删改查(RESTful),springmvcrestful