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

📄 mylssvm.asv

📁 稀土测量 matlab 源程序 粒子群优化算法的改进 lS-SVM等源程序
💻 ASV
字号:

clc
clear
close all
%global grain = 20
%---------------------------------------------------
load input;
T=input(101:150,5);
%数据归一化处理
[g_data,mx,stdx]=autosc(input);  %??

%标准化处理
Xmax=max(g_data);
Xmin=min(g_data);
el=ones(150,1);e2=ones(150,5);
%标准化后的数据集g_data[]
g_data=e2-(el*Xmax-g_data)./(el*(Xmax-Xmin));
xi=g_data(1:100,1:4);yi=g_data(1:100,5);

%测试样本
Xt=g_data(101:150,1:4);
Yt=g_data(101:150,5);
%---------------------------------------------------
% 参数设置
type = 'f';
kernel = 'RBF_kernel';
gam =50;              %3.5655/37.413 Reg3ularization parameter
sig2 =10;            %31.3729/Kernel 20.089parameter (bandwidth in the case of the 'RBF_kernel'
% 模型初始化
model = initlssvm(xi,yi,type,gam,sig2,kernel);  
%costfun = 'rcrossvalidate';
%costfun_args = {xi,yi,2};
%optfun = 'gridsearch';
%model = tunelssvm(model,[],optfun,{},costfun,costfun_args);  
model = robustlssvm(model);  % 训练 
Yd = simlssvm(model,Xt);    % 回归
err=Yt-Yd;
MSE=mse(err)  %均值平方误差mean squared error
SSE=sse(err)  %平方和误差sum squared error
%Error=(Yd-Yt)./Yd;%相对误差
%Mean_Error=mean(abs(Error))%相对误差绝对值的平均值
RMSE1=sqrt(mean((Yt-Yd).^2))%均方根误差
%---------------------------------------------------
% 结果作图
Yd=Yd.*(ones(50,1)*(Xmax(1,5)-Xmin(1,5)))+ones(50,1)*Xmin(1,5);
Yd=rescal(Yd,mx(1,5),stdx(1,5));  %???
Et=Yd-T
MSE1=mse(Et)
SSE1=sse(Et)
%load result 
%T=result(:,1);
%Yd=result(:,2);
%Et=Yd-T;

Error=(Yd-T)./Yd
MAXE=max(Et)
MINE=min(Et)
RMSE2=sqrt(mean((Et.^2)))
figure(2)
plot(1:length(T),T,'rd-',1:length(Yd),Yd,'b.:')
%axis([0,50,0.3,1]);
%title('')
legend('实际测量值','LS-SVM模型估计值');
xlabel('样本个数')
ylabel('组分含量(%)')
%size(0.5,0.5)
figure(3)
%plot(1:length(Yt),Error)
%title('相对误差曲线')
%xlabel('样本个数')
%ylabel('相对误差')
%figure(3)
%hold on
%plot(1:length(Yt),0,'k-')
plot([0;50],[0;0],'k-')
hold on
plot(1:length(Yt),Et)


%title('绝对误差曲线')
xlabel('样本个数')
ylabel('误差')

⌨️ 快捷键说明

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