📄 demo_svm.html
字号:
<span class=keyword>if</span> C <= 0,<br> C = 100;<br> <span class=keyword>end</span><br> <span class=graph>set</span>( data.ed_cconst,<span class=quotes>'String'</span>,num2str(C));<br> <br><span class=comment>%== Handle for arg edit line ===========================</span><br><span class=label>case</span> <span class=quotes>'arg_handler'</span><br> data=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);<br><br> arg = str2num(<span class=graph>get</span>(data.ed_arg,<span class=quotes>'String'</span>));<br> <br> <span class=keyword>if</span> arg < 0,<br> arg = 1;<br> <span class=keyword>end</span><br> <br> <span class=graph>set</span>( data.ed_arg, <span class=quotes>'String'</span>,num2str( arg));<br><br> <br><span class=comment>%== Handle for kernel pop up menu ===========================</span><br><span class=label>case</span> <span class=quotes>'kernel_handler'</span><br> data=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);<br><br> ker_inx = <span class=graph>get</span>( data.pu_kernel,<span class=quotes>'Value'</span>);<br> <span class=keyword>if</span> ker_inx >= 2,<br> <span class=graph>set</span>( data.ed_arg,<span class=quotes>'Enable'</span>,<span class=quotes>'on'</span>);<br> <span class=graph>set</span>( data.tx_arg,<span class=quotes>'Enable'</span>,<span class=quotes>'on'</span>);<br> <span class=keyword>else</span><br> <span class=graph>set</span>( data.ed_arg,<span class=quotes>'Enable'</span>,<span class=quotes>'off'</span>);<br> <span class=graph>set</span>( data.tx_arg,<span class=quotes>'Enable'</span>,<span class=quotes>'off'</span>);<br> <span class=keyword>end</span><br><br><span class=comment>%== Calls data creator ==========================================</span><br><span class=label>case</span> <span class=quotes>'creatdata'</span><br> createdata(<span class=quotes>'finite'</span>,2,<span class=quotes>'demo_svm'</span>,<span class=quotes>'created'</span>,hfigure);<br> <br><span class=comment>% == Loads recently created data ================================</span><br><span class=label>case</span> <span class=quotes>'created'</span><br><br> <span class=comment>% get handler and make this figure active</span><br> <span class=graph>figure</span>(hfigure);<br> data = <span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);<br><br> <span class=comment>% get file name</span><br> path=<span class=stack>varargin</span>{1};<br> name=<span class=stack>varargin</span>{2};<br> pathname=strcat(path,name);<br><br> <span class=keyword>if</span> check2ddata(pathname), <br> file.pathname=pathname; <br> file.path=path; <br> file.name=name; <br> <span class=graph>set</span>(data.bt_load,<span class=quotes>'UserData'</span>,file);<br> demo_svm(<span class=quotes>'loadsets'</span>,hfigure); <br> demo_svm(<span class=quotes>'reset'</span>,hfigure); <br> <span class=keyword>else</span> <br> errordlg(<span class=quotes>'This file does not contain required data.'</span>,<span class=quotes>'Bad file'</span>,<span class=quotes>'modal'</span>); <br> <span class=keyword>end</span> <br> <br><br><span class=comment>% == Calls standard open file dialog ==========================</span><br><span class=label>case</span> <span class=quotes>'getfile'</span><br> <br> data=<span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>);<br><br> [name,path]=uigetfile(<span class=quotes>'*.mat'</span>,<span class=quotes>'Open file'</span>);<br> <span class=keyword>if</span> name~=0,<br> file.pathname=strcat(path,name);<br> file.path=path;<br> file.name=name;<br><span class=comment>% if checkdat(file.pathname,DATA_IDENT,2,[0 0])==1,</span><br> <span class=keyword>if</span> check2ddata( file.pathname ),<br> <span class=graph>set</span>(data.bt_load,<span class=quotes>'UserData'</span>,file);<br> demo_svm(<span class=quotes>'loadsets'</span>,hfigure);<br> demo_svm(<span class=quotes>'reset'</span>,hfigure);<br> <span class=keyword>else</span><br> errordlg(<span class=quotes>'This file does not contain required data.'</span>,<span class=quotes>'Bad file'</span>,<span class=quotes>'modal'</span>);<br> <span class=keyword>end</span><br> <span class=keyword>end</span><br><br><span class=label>case</span> <span class=quotes>'loadsets'</span><br> <span class=comment>% == Load data from file ==========================================</span><br><br> data = <span class=graph>get</span>( hfigure,<span class=quotes>'UserData'</span> );<br><br> <span class=comment>% Clear axes</span><br> clrchild( data.<span class=graph>axes</span>);<br> <br> <span class=comment>% set x and y axes labels</span><br> xlabel(<span class=quotes>'feature x'</span>);<br> ylabel(<span class=quotes>'feature y'</span>);<br><br> <span class=comment>% Get file name with sets</span><br> file=<span class=graph>get</span>( data.bt_load,<span class=quotes>'UserData'</span>);<br><br> <span class=comment>% Load sets</span><br> trn = load(file.pathname );<br> trn.I=trn.y;<br> trn.N= 2;<br> trn.K = [length( find(trn.y==1)),length(find(trn.y==2))];<br><br> <span class=comment>% store loaded sets</span><br> <span class=graph>set</span>( data.<span class=graph>axes</span>,<span class=quotes>'UserData'</span>, trn);<br><br> <span class=comment>% focus on axes</span><br> <span class=graph>axes</span>( data.<span class=graph>axes</span> );<br><br> <span class=comment>% plots points</span><br> ppatterns( trn );<br><br> drawnow;<br> <br><br><span class=comment>% == Reset ==========================================================</span><br><span class=label>case</span> <span class=quotes>'reset'</span><br><br> data = <span class=graph>get</span>(hfigure,<span class=quotes>'UserData'</span>); <br> <br> <span class=comment>% Clear axes</span><br> clrchild( data.<span class=graph>axes</span>);<br><br> <span class=comment>% get data set</span><br> trn = <span class=graph>get</span>( data.<span class=graph>axes</span>, <span class=quotes>'UserData'</span>);<br><br> <span class=comment>% get file</span><br> file = <span class=graph>get</span>( data.bt_load,<span class=quotes>'UserData'</span>);<br> <br> <span class=comment>% create comment</span><br> <span class=keyword>if</span> isempty( trn ) == 0,<br> consoletext=<span class=io>sprintf</span>(<span class=quotes>'Data loaded.\nSelect algorithm and press Train SVM button.\n'</span>);<br> titletext=<span class=io>sprintf</span>(<span class=quotes>'File: %s, # of points K = %d'</span>, file.name , size(trn.X,2));<br> <br> <span class=graph>set</span>( data.<span class=graph>axes</span>, <span class=quotes>'XLimMode'</span>,<span class=quotes>'auto'</span>, <span class=quotes>'YLimMode'</span>,<span class=quotes>'auto'</span>);<br> ppatterns( trn);<br> <br> <span class=keyword>else</span><br> consoletext=<span class=io>sprintf</span>([<span class=quotes>'No data loaded.\n'</span> ...<br> <span class=quotes>'Press Create data button to create your own data.\n'</span>...
<br> <span class=quotes>'Press Load data button to load data.\n'</span> ...
<br> <span class=quotes>'Load sample data from ../data/binary/'</span>]);<br> titletext=<span class=quotes>''</span>;<br><br> pos=<span class=graph>get</span>( data.<span class=graph>axes</span>,<span class=quotes>'Position'</span>);<br> fsize=min(pos(3),pos(4))/10;<br> setaxis( data.<span class=graph>axes</span>,[-1 1 -1 1]);<br><span class=comment>% axis([-1 1 -1 1]);</span><br> <br> <span class=eval>builtin</span>(<span class=quotes>'text'</span>,0,0,<span class=quotes>'Press '</span><span class=quotes>'Load data'</span><span class=quotes>' button.'</span>,...<br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -