📄 click_data5.m
字号:
function [patterns,labels]=click_data5(patterns,labels);global kernel;global C;global deg;%clf%hold on%axis([-1 1 -1 1])%axis('off')num = size(patterns,2);pos_num = num/2 + sum(labels)/2;neg_num = num - pos_num;%text([-0.7 -0.7 -0.7],[0.1 -0.2 -0.4],['Click Data (Left Mouse / Right Mouse)'; 'Press Middle Mouse when done '; 'Delete Points with d ']);%pause(0.3);%clfhold onaxis([-1.3 1 -1 1])axis('off')for i = 1:num, if labels(i) == 1 p(i) = plot(patterns(1,i), patterns(2,i), 'b.') ; set(p(i), 'MarkerSize', 20); else p(i) = plot(patterns(1,i), patterns(2,i), 'ro') ; set(p(i),'LineWidth',2); endendslider_deg = uicontrol('style','slider','units','normal','pos',[0.03 0.82 0.15 0.07], 'value', log(20*deg)/log(100), 'string', 'sigma');slider_C = uicontrol('style','slider','units','normal','pos',[0.03 0.72 0.15 0.07], 'value', log(C)/log(10000), 'string', 'C');text_deg = uicontrol('style','text','units','normal','pos',[0.03 0.89 0.15 0.03],'string','sigma');text_C = uicontrol('style','text','units','normal','pos',[0.03 0.79 0.15 0.03],'string','C');train_button = uicontrol('style','pushbutton','units','normal','pos',[0.03 0.5 0.15 0.15],'string','train');clear_button = uicontrol('style','pushbutton','units','normal','pos',[0.03 0.306 0.15 0.15],'string','clear');% box around the allowed field for the patternsl = line([-1 1 1 -1 -1],[-1 -1 1 1 -1]); % [x1 x2],[y1 y2]set(l,'color',[1 1 1],'linestyle',':')while 1 [x(1),x(2),button]=ginput(1); in_range = (x(1)>-1 & x(1)<1 & x(2)>-1 & x(2)<1); in_train = (x(1)>-1.6 & x(1)<-1.16 & x(2)>-0.05 & x(2)<0.33); in_clear = (x(1)>-1.6 & x(1)<-1.16 & x(2)>-0.52 & x(2)<-0.15); if button == 2 & in_range [min_dist min_ind] = min(dist(patterns',x')); patterns = patterns(:,[1:(min_ind-1) (min_ind+1):num]); if labels(min_ind) == 1 pos_num = pos_num - 1; else neg_num = neg_num - 1; end labels = labels(:,[1:(min_ind-1) (min_ind+1):num]); delete(p(min_ind)); p = p(:,[1:(min_ind-1) (min_ind+1):num]); elseif button == 1 & in_range patterns=[patterns x']; p(num+1) = plot(x(1), x(2), 'b.'); set(p(num+1), 'MarkerSize', 20); pos_num = pos_num+1; labels=[labels 1]; elseif button == 3 & in_range patterns=[patterns x']; p(num+1) = plot(x(1), x(2), 'ro'); set(p(num+1),'LineWidth',2); neg_num = neg_num+1; labels=[labels -1]; elseif button == 114 | in_train if pos_num*neg_num>0 % run it! C = 10000^get(slider_C,'value'); deg = 100^get(slider_deg,'value')/20; break else pos_num neg_num disp('one class is empty - enter a pattern') in_train = 0; end elseif in_clear for i=1:num, delete(p(i)); end num = 0; pos_num = 0; neg_num = 0; patterns = []; labels = []; end num = pos_num + neg_num;endfor i=1:num, delete(p(i));endset(slider_deg,'visible','off')set(slider_C,'visible','off')set(text_deg,'visible','off')set(text_C,'visible','off')set(train_button,'visible','off')set(clear_button,'visible','off')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -