⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 svm_regressive.m

📁 基于支持向量机(SVM)回归的MATLAB演示程序
💻 M
字号:
%  应用LS_SVM回归试验
%%%%%%%%%%%%%%%%%%%%%%%%%% 清理 %%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
clf
%%%%%%%%%%%%%%%%%%%%%%%%% 样本数据 %%%%%%%%%%%%%%%%%%%%%%%
 X=[5.00 0.31 
10.00 0.27 
5.00 0.53 
10.00 0.33 
15.00 0.24 
5.00 1.01 
10.00 0.52 
20.00 0.30 
10.00 0.96 
20.00 0.53 
50.00 0.32 
41.00 0.50 
90.00 0.24 
120.00 0.22 
92.00 0.50 
70.00 0.96 
90.00 1.03  
]
Y=[0.70 
0.78 
0.73 
0.85 
0.83 
0.84 
0.85 
0.85 
0.85 
0.91 
0.94 
0.94 
0.92 
0.94 
0.96 
0.95 
0.95 
]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 基本参数 %%%%%%%%%%%%%%%%%%%%%%%
gam = 50;                                               % 惩罚参数
sig2 = 0.2;                                             % RBF核函数的参数
type = 'function approximation';                        % 用于回归运算,查手册
[alpha,b]=trainlssvm({X,Y,type,gam,sig2,'RBF_kernel'}); % 计算模型参数取值
%%%%%%%%%%%%% 预测自变量Xt, 预测因变量计算值Yt %%%%%%%%%%%%%%%%%%
Xt=[ 10 0.29
10 0.46
42 0.26
50 0.96
];
Yt = simlssvm({X,Y,type,gam,sig2,'RBF_kernel','preprocess'},{alpha,b},Xt);
% 如要拟合/模拟结果,将上面的命令的最后的Xt改为X,得出和Y相对应的训练模型的计算值
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 实测 Yt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Ytt=[0.81 
0.91 
0.89 
0.95
]
% 不断调整参数值对比一下看看。这是实验测得的数据,仅用于说明测量精度高。
%%%%%%%%%%%%%%%%%%%%%%%% 绘图比较预测与实测结构 %%%%%%%%%%%%%%%%%%%%%
figure(1)                           % Xt 轨迹                  
Xt_x=Xt(:,1); Xt_y=Xt(:,2);
plot(Xt_x,Xt_y,'--b')

figure(2)                           % 实测与预测对比
plot3(Xt_x,Xt_y,Yt,'--b');          % 预测
box on
hold on
plot3(Xt_x,Xt_y,Ytt,'-r');          % 实测

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -