# 【lssvm回归预测】基于鲸鱼算法优化最小二乘支持向量机lssvm实现数据回归预测附matlab代码

✅作者简介：热爱科研的Matlab仿真开发者，修心和技术同步精进，matlab项目合作可私信。

🍎个人主页：Matlab科研工作室

🍊个人信条：格物致知。

## ⛄ 部分代码

while t<Max_iter

t

for i=1:size(Positions,1)

% Return back the search agents that go beyond the boundaries of the search space

Flag4ub=Positions(i,:)>ub;

Flag4lb=Positions(i,:)<lb;

Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;

% Calculate objective function for each search agen

gam=Positions(i,1);

sig2=Positions(i,2);

model=initlssvm(train_x,train_yy,type,gam,sig2,kernel,proprecess);

model=trainlssvm(model);

%求出训练集和测试集的预测值

[train_predict_y,zt,model]=simlssvm(model,train_x);

[test_predict_y,zt,model]=simlssvm(model,test_x);

%预测数据反归一化

train_predict=postmnmx(train_predict_y ,miny,maxy);%预测输出

test_predict=postmnmx(test_predict_y ,miny,maxy); %测试集预测值

%计算均方差

trainmse=sum((train_predict-train_y).^2)/length(train_y);

testmse=sum((test_predict-test_y).^2)/length(test_y);

fitness=trainmse; %以测试集的预测值计算的均方差为适应度值

if fitness<Leader_score % Change this to > for maximization problem

YPred_best=test_predict;

end

end

a=-t*((2)/Max_iter); % a decreases linearly fron 2 to 0 in Eq. (2.3)

% a2 linearly dicreases from -1 to -2 to calculate t in Eq. (3.12)

a2=t*((-1)/Max_iter);

% Update the Position of search agents

for i=1:size(Positions,1)

r1=rand(); % r1 is a random number in [0,1]

r2=rand(); % r2 is a random number in [0,1]

A=2*a*r1-a;  % Eq. (2.3) in the paper

C=2*r2;      % Eq. (2.4) in the paper

b=1;               %  parameters in Eq. (2.5)

l=(a2-1)*rand+1;   %  parameters in Eq. (2.5)

p = rand();        % p in Eq. (2.6)

for j=1:size(Positions,2)

if p<0.5

if abs(A)>=1

D_X_rand=abs(C*X_rand(j)-Positions(i,j)); % Eq. (2.7)

Positions(i,j)=X_rand(j)-A*D_X_rand;      % Eq. (2.8)

elseif abs(A)<1

end

elseif p>=0.5

% Eq. (2.5)

end

end

end

t=t+1;

end

## ⛄ 参考文献

[1]郑威迪, 李志刚, 贾涵中,等. 基于改进型鲸鱼优化算法和最小二乘支持向量机的炼钢终点预测模型研究[J]. 电子学报, 2019, 47(3):700-706.

## ⛄ Matlab代码关注

##### ❤️ 关注我领取海量matlab电子书和数学建模资料

|
4天前
|

Redis处理大量数据主要依赖于其内存存储结构、高效的数据结构和算法，以及一系列的优化策略
【5月更文挑战第15天】Redis处理大量数据依赖内存存储、高效数据结构和优化策略。选择合适的数据结构、利用批量操作减少网络开销、控制批量大小、使用Redis Cluster进行分布式存储、优化内存使用及监控调优是关键。通过这些方法，Redis能有效处理大量数据并保持高性能。
22 0
|
2天前
|

MATLAB|【免费】融合正余弦和柯西变异的麻雀优化算法SCSSA-CNN-BiLSTM双向长短期记忆网络预测模型

12 3
|
3天前
|

【机器学习】聚类算法中，如何判断数据是否被“充分”地聚类，以便算法产生有意义的结果？
【5月更文挑战第14天】【机器学习】聚类算法中，如何判断数据是否被“充分”地聚类，以便算法产生有意义的结果？
27 1
|
3天前
|

【机器学习】可以利用K-means算法找到数据中的离群值吗？
【5月更文挑战第14天】【机器学习】可以利用K-means算法找到数据中的离群值吗？
27 0
|
4天前
|

11 4
|
4天前
|

【机器学习】在使用K-means算法之前，如何预处理数据？
【5月更文挑战第12天】【机器学习】在使用K-means算法之前，如何预处理数据？
38 3
|
4天前
|

14 0
|
4天前
|

16 1
|
4天前

25 1
|
4天前
|

26 0