最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【SVM預(yù)測】基于松鼠算法優(yōu)化支持向量機SVM實現(xiàn)數(shù)據(jù)預(yù)測附matlab代碼

2022-05-08 10:05 作者:Matlab工程師  | 我要投稿

1 簡介

提出一種基于松鼠算法(SSA)和支持向量機(SVM)的股價預(yù)測方法.針對SVM預(yù)測模型參數(shù)難以確定的問題,采用SSA算法對SVM中懲罰因子及核函數(shù)參數(shù)進行優(yōu)化,構(gòu)建SSA-SVM股價預(yù)測模型。

2 部分代碼

clc;clear all;close all;[f p]=uigetfile('*');X=importdata([p f]);data=X.data;data2=data(:,1:end-1);class=data(:,end);data1=knnimpute(data2);%%%%%%%%Feature selection FSL=0;FSU=1;D=size(data1,2);for i=1:10FS(i,:)=FSL+randi([0 1],[1 D])*(FSU-FSL);tryfit(i)=fitness(data1,class,FS(i,:));catch ? ?fit(i)=1; ? ?continue;endendind=find(fit==min(fit));FSnew=FS(ind,:);pdp=0.1;row=1.204;V=5.25;S=0.0154;cd=0.6;CL=0.7;hg=1;sf=18;Gc=1.9;D1=1/(2*row*V.^2*S*cd);L=1/(2*row*V.^2*S*CL);tanpi=D1/L;dg=hg/(tanpi*sf);aa=randi([1 length(ind)]);iter=1;maxiter=2;while(iter<maxiter)for i=1:10if(rand>=pdp) ? ?FS(i,:)=round(FS(i,:)+(dg*Gc*abs(FSnew(1,:)-FS(i,:))));else ? FS(i,:)=FSL+randi([0 1],[1 D])*(FSU-FSL); endFh=FS;fit1(i)=fitness(data1,class,FS(i,:));ind1=find(fit1==min(fit1));FSnew1=FS(ind1,:);if(rand>pdp) ? ?FS(i,:)=round(FS(i,:)+(dg*Gc*abs(FSnew(aa,:)-FS(i,:))));else ? FS(i,:)=FSL+randi([0 1],[1 D])*(FSU-FSL); endFa=FS;fit2(i)=fitness(data1,class,FS(i,:));ind2=find(fit2==min(fit2));FSnew2=FS(ind2,:);endSc=sqrt(sum(abs(Fh-Fa)).^2);Smin=(10*exp(-6))/(365).^(iter/(maxiter/2.5));if(Sc<Smin) ? ?season=summer; ? ?for i=1:10 ? ? ? ?FS(i,:)=FSL+levy(1,D,1.5)*(FSU-FSL); ? ?end else ? ?season=winter; ? ?break;end%%%Searching methodfit3(i)=fitness(data1,class,FS(i,:));ind3=find(fit3==min(fit3));final=abs(round([Fh(ind1,:);Fa(ind2,:);FS(ind3,:)]));for i=1:size(final,1) ? ?fitt(i)=fitness(data1,class,final(i,:));endbest(iter)=min(fitt);[ff inn]=min(fitt);bestfeat(iter,:)=final(inn,:);pdp=best(iter);iter=iter+1;endsel=find(bestfeat(end,:));disp('Selected Features');disp(sel)dataA =data2(:,sel); ?% some test datap = .7 ; ? ? % proportion of rows to select for trainingN = size(dataA,1); ?% total number of rows tf = false(N,1); ? % create logical index vectortf(1:round(p*N)) = true; ? tf = tf(randperm(N)); ? % randomise orderdataTraining = dataA(tf,:);labeltraining=class(tf);dataTesting = dataA(~tf,:);labeltesting=class(~tf);disp('Training feature size');disp(length(dataTraining))disp('Testing feature size');disp(length(dataTesting))svt=svmtrain(dataTraining,labeltraining);out1=svmclassify(svt,dataTesting);mdl=fitcknn(dataTraining,labeltraining);out2=predict(mdl,dataTesting);%%%%%%% ?NB %%%%%%%%mdl=fitcensemble(dataTraining,labeltraining);out3=predict(mdl,dataTesting);tp=length(find(out3==labeltesting));msgbox([{['Out of ',num2str(length(out3))]},{[num2str(tp),'are correctly classified']}])delete(gcp('nocreate'))disp('%%%%%%%% ?KNN %%%%%%%%%%%%%%')[EVAL CF] = Evaluate(out2,labeltesting);disp('Accuracy (%)');disp(EVAL(1)*100);disp('Precision (%)');disp(EVAL(4)*100);disp('Recall (%)');disp(EVAL(5)*100);disp('Fmeasure (%)');disp(EVAL(6)*100);disp('True Positive');disp(CF(1))disp('True Negative');disp(CF(2))disp('False Positive');disp(CF(3))disp('False Negative');disp(CF(4))disp('%%%%%%%% ?SVM %%%%%%%%%%%%%%')[EVAL3 CF] = Evaluate(out1,labeltesting);disp('Accuracy (%)');disp(EVAL3(1)*100);disp('Precision (%)');disp(EVAL3(4)*100);disp('Recall (%)');disp(EVAL3(5)*100);disp('Fmeasure (%)');disp(EVAL3(6)*100); disp('True Positive');disp(CF(1))disp('True Negative');disp(CF(2))disp('False Positive');disp(CF(3))disp('False Negative');disp(CF(4))disp('%%%%%% ?NB %%%%%%%%%%%%%%')[EVAL2 CF] = Evaluate(out3,labeltesting);disp('Accuracy (%)');disp(EVAL2(1)*100);disp('Precision (%)');disp(EVAL2(4)*100);disp('Recall (%)');disp(EVAL2(5)*100);disp('Fmeasure (%)');disp(EVAL2(6)*100);disp('True Positive');disp(CF(1))disp('True Negative');disp(CF(2))disp('False Positive');disp(CF(3))disp('False Negative');disp(CF(4))

3 仿真結(jié)果


4 參考文獻

[1]顧嘉運, 劉晉飛, 陳明. 基于SVM的大樣本數(shù)據(jù)回歸預(yù)測改進算法[J]. 計算機工程, 2014, 40(1):6.

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡(luò)預(yù)測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領(lǐng)域的Matlab仿真,相關(guān)matlab代碼問題可私信交流。

部分理論引用網(wǎng)絡(luò)文獻,若有侵權(quán)聯(lián)系博主刪除。


【SVM預(yù)測】基于松鼠算法優(yōu)化支持向量機SVM實現(xiàn)數(shù)據(jù)預(yù)測附matlab代碼的評論 (共 條)

分享到微博請遵守國家法律
安福县| 博爱县| 阜宁县| 苍溪县| 和林格尔县| 峨眉山市| 荥阳市| 泾阳县| 涿州市| 焦作市| 新蔡县| 萨迦县| 新源县| 汉沽区| 尚志市| 萨嘎县| 富蕴县| 中超| 古丈县| 大余县| 龙岩市| 东丽区| 合山市| 确山县| 石林| 昭苏县| 独山县| 徐汇区| 安阳县| 潍坊市| 准格尔旗| 十堰市| 沙雅县| 百色市| 开化县| 蒙自县| 泰宁县| 张家港市| 丹阳市| 宽城| 宜章县|