SVMshow
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 78 79 80 81 82 83 84 85 | % http://www.peteryu.ca/tutorials/matlab/visualize_decision_boundaries % load RankData % NumTrain =200; load RankData2 lambda = 20; rho = 1; c1 =10; c2 =10; epsilon = 0.2; result=[]; ker = 'lin' ; sigma = 1/50; par = NonLinearDualSVORIM(X, y, c1, c2, epsilon, rho, ker, sigma); % set up the domain over which you want to visualize the decision % boundary xrange = [-5 5]; yrange = [-5 5]; % step size for how finely you want to visualize the decision boundary. inc = 0.1; % generate grid coordinates. this will be the basis of the decision % boundary visualization. [x1, x2] = meshgrid (xrange(1):inc:xrange(2), yrange(1):inc:yrange(2)); % size of the (x, y) image, which will also be the size of the % decision boundary image that is used as the plot background. image_size = size (x1) xy = [x1(:) x2(:)]; % make (x,y) pairs as a bunch of row vectors. %xy = [reshape(x, image_size(1)*image_size(2),1) reshape(y, image_size(1)*image_size(2),1)] % loop through each class and calculate distance measure for each (x,y) % from the class prototype. % calculate the city block distance between every (x,y) pair and % the sample mean of the class. % the sum is over the columns to produce a distance for each (x,y) % pair. d = []; for k=1: max (y) d(:,k) = decisionfun(xy, par, X,y,k,epsilon, ker,sigma)'; end [~,idx] = min ( abs (d),[],2) % reshape the idx (which contains the class label) into an image. decisionmap = reshape (idx, image_size); figure ; %show the image imagesc (xrange,yrange,decisionmap); hold on; set ( gca , 'ydir' , 'normal' ); % colormap for the classes: % class 1 = light red, 2 = light green, 3 = light blue cmap = [1 0.8 0.8; 0.95 1 0.95; 0.9 0.9 1] colormap (cmap); % label the axes. xlabel ( 'x1' ); ylabel ( 'x2' ); imagesc (xrange,yrange,decisionmap); % plot the class training data. color = { 'r.' , 'go' , 'b*' , 'r.' , 'go' , 'b*' }; for i =1: max (y) plot (X(y== i ,1),X(y== i ,2), color{ i }); hold on end % include legend legend ( 'Class 1' , 'Class 2' , 'Class 3' , 'Location' , 'NorthOutside' , ... 'Orientation' , 'horizontal' ); hold on; set ( gca , 'ydir' , 'normal' ); |
标签:
MATLAB
【推荐】国内首个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吧