1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | clear load NPSVOR name={ 'SCV1V1' , 'SVC1VA' , 'SVR' , 'CSSVC' , 'SVMOP' , 'NNOP' , 'ELMOP' , 'POM' ,... 'NNPOM' , 'SVOREX' , 'SVORIM' , 'SVORIMLin' , 'KDLOR' , 'GPOR' , 'REDSVM' , 'ORBALL' }; path0={'E:\datasets-orreview\DetailedResultsREVIEW\Real\csv\',... 'E:\datasets-orreview\DetailedResultsREVIEW\Regression\csv\'}; Index{1}=[1 2 3 4 5 12 14 22 24 16 18 20 ]; Index{2}=[6 7 8 9 10 11 13 21 23 15 17 19]; j =2 %for Discreted Ordinal Regression Data N= length (name); alpha =0.05; for i =1:N fname= strcat (path0{ j }, 'Results-' , name{ i }, '.' , 'csv' ); D= importdata (fname, ',' ); Data=D.data; Z5=[]; A5=[]; for k=1:12 Z5=[Z5 Data(:,(Index{1}(k)-1)*3+1 )]; A5=[A5 Data(:,(Index{1}(k)-1)*3+2 )]; end DataZ5{ i } = Z5; DataA5{ i } = A5; end DataZ5{N+1}=AZ5'; DataZ5{N+2}=BZ5'; DataA5{N+1}=AA5'; DataA5{N+2}=BA5'; MZE5= zeros (N+2,3); MAE5= zeros (N+2,3); for i =1:12 A1= zeros (20,N+2);A2= zeros (20,N+2); for j =1:N+2 A1(:, j ) = DataZ5{ j }(:, i ); A2(:, j ) = DataA5{ j }(:, i ); end MZE5 = MZE5+Wilcoxon(A1, alpha ); MAE5 = MAE5+Wilcoxon(A2, alpha ); end j =1 %for Real Data N= length (name); for i =1:N fname= strcat (path0{ j }, 'Results-' , name{ i }, '.' , 'csv' ); D= importdata (fname, ',' ); Data=D.data; Zr=[]; Ar=[]; for k=1:17 Zr=[Zr Data(:,(k-1)*3+1 )]; Ar=[Ar Data(:,(k-1)*3+2 )]; end DataZr{ i } = Zr; DataAr{ i } = Ar; end DataZr{N+1}=AZr'; DataZr{N+2}=BZr'; DataAr{N+1}=AAr'; DataAr{N+2}=BAr'; MZEr= zeros (N+2,3); MAEr= zeros (N+2,3); for i =1:17 A1= zeros (30,N+2);A2= zeros (30,N+2); for j =1:N+2 A1(:, j ) = DataZr{ j }(:, i ); A2(:, j ) = DataAr{ j }(:, i ); end MZEr = MZEr+Wilcoxon(A1, alpha ); MAEr= MAEr+Wilcoxon(A2, alpha ); end MZE=[MZE5 MZEr];MAE= [MAE5 MAEr]; %final result of average rank |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | function f = Wilcoxon(A, alpha ) m= size (A,2); Sig= zeros (m,m); for i =1:m for j = i :m x=A(:, i ); y=A(:, j ); [p,h,stats]=signrank(x,y, 'alpha' , alpha ); % Sig(ni,ai)=stats.signedrank; if mean (x)< mean (y) && h==1 Sig( i , j )=1; elseif mean (x)> mean (y) && h==1 Sig( i , j )=-1; else Sig( i , j )=0; end end end X=Sig-Sig'; f=[ sum (X==1,2) sum (X==0,2)-1 sum (X==-1,2)]; end |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧