资源简介
混凝土抗压强度预测_SVM_Matlab_归一_实例
代码片段和文件信息
%% 第29章 支持向量机的回归拟合——混凝土抗压强度预测
%
% 该案例作者申明: 1:本人长期驻扎在此板块里,对该案例提问,做到有问必答。 2:此案例有配套的教学视频,视频下载请点击http://www.matlabsky.com/forum-91-1.html。 3:此案例为原创案例,转载请注明出处(《MATLAB智能算法30个案例分析》)。 4:若此案例碰巧与您的研究有关联,我们欢迎您提意见,要求等,我们考虑后可以加在案例里。 5:以下内容为初稿,与实际发行的书籍内容略有出入,请以书籍中的内容为准。
%
%% 清空环境变量
clear all
clc
%% 导入数据
load concrete_data.mat
% 随机产生训练集和测试集
n = randperm(size(attributes2));
% 训练集——80个样本
p_train = attributes(:n(1:80))‘;
t_train = strength(:n(1:80))‘;
% 测试集——23个样本
p_test = attributes(:n(81:end))‘;
t_test = strength(:n(81:end))‘;
%% 数据归一化
% 训练集
[pn_traininputps] = mapminmax(p_train‘);
pn_train = pn_train‘;
pn_test = mapminmax(‘apply‘p_test‘inputps);
pn_test = pn_test‘;
% 测试集
[tn_trainoutputps] = mapminmax(t_train‘);
tn_train = tn_train‘;
tn_test = mapminmax(‘apply‘t_test‘outputps);
tn_test = tn_test‘;
%% SVM模型创建/训练
% 寻找最佳c参数/g参数
[cg] = meshgrid(-10:0.5:10-10:0.5:10);
[mn] = size(c);
cg = zeros(mn);
eps = 10^(-4);
v = 5;
bestc = 0;
bestg = 0;
error = Inf;
for i = 1:m
for j = 1:n
cmd = [‘-v ‘num2str(v)‘ -t 2‘‘ -c ‘num2str(2^c(ij))‘ -g ‘num2str(2^g(ij) )‘ -s 3 -p 0.1‘];
cg(ij) = svmtrain(tn_trainpn_traincmd);
if cg(ij) < error
error = cg(ij);
bestc = 2^c(ij);
bestg = 2^g(ij);
end
if abs(cg(ij) - error) <= eps && bestc > 2^c(ij)
error = cg(ij);
bestc = 2^c(ij);
bestg = 2^g(ij);
end
end
end
% 创建/训练SVM
cmd = [‘ -t 2‘‘ -c ‘num2str(bestc)‘ -g ‘num2str(bestg)‘ -s 3 -p 0.01‘];
model = svmtrain(tn_trainpn_traincmd);
%% SVM仿真预测
[Predict_1error_1] = svmpredict(tn_trainpn_trainmodel);
[Predict_2error_2] = svmpredict(tn_testpn_testmodel);
% 反归一化
predict_1 = mapminmax(‘reverse‘Predict_1outputps);
predict_2 = mapminmax(‘reverse‘Predict_2outputps);
% 结果对比
result_1 = [t_train predict_1];
result_2 = [t_test predict_2];
%% 绘图
figure(1)
plot(1:length(t_train)t_train‘r-*‘1:length(t_train)predict_1‘b:o‘)
grid on
legend(‘真实值‘‘预测值‘)
xlabel(‘样本编号‘)
ylabel(‘耐压强度‘)
string_1 = {‘训练集预测结果对比‘;
[‘mse = ‘ num2str(error_1(2)) ‘ R^2 = ‘ num2str(error_1(3))]};
title(string_1)
figure(2)
plot(1:length(t_test)t_test‘r-*‘1:length(t_test)predict_
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2286 2010-11-04 20:07 混凝土抗压强度预测\concrete_data.mat
文件 4841 2015-06-17 16:06 混凝土抗压强度预测\main.m
目录 0 2018-03-16 18:12 混凝土抗压强度预测\
- 上一篇:MATLAB之LSTM预测
- 下一篇:Aloha系统MATLAB仿真代码
相关资源
- Aloha系统MATLAB仿真代码
- MATLAB之LSTM预测
- 基于SVM的回归预测分析
- mtsp源代码MATLAB
- matlab高斯投影正反算程序
- MATLAB识别指针式仪表的示数
- EEMD集成经验模态分解matlab程序.rar
- 小波滤波,可用于心电信号、脉搏波
- MATLAB 人脸检测定位算法
- 烟花算法 (Fireworks Algorithm),缩写为
- Matlab考试题库加答案
- 基于matlab的扑克牌识别
- CT反投影重建算法
- 基于MATLAB计算两平行线圈的互感
- matlab条码识别
- 利用BP神经网络对图像提取的MATLAB代码
- 元胞自动机之森林火灾升级版MATLAB代
- 6自由度机器人正逆运动学matlab
- MATLAB 灰度共生矩阵特征提取
- 机器人焊接轨迹规划matlab仿真程序
- 有约束的基于适应度和连续世代策略
- 同步电机模型的MATLAB仿真-毕业设计论
- 通信原理matlab最全仿真,曹丽娜,樊
- 《信息隐藏技术实验教程》MATLAB源码
- libsvm数据格式转换程序
- matlab实现单纯形法
- 基于卡尔曼滤波的三种经典室内定位
- emd和eemd算法的matlab源程序
- 基于MATLAB GUI的多功能计算器
- 用MATLAB做的基于霍夫曼编码的图像压
评论
共有 条评论