⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 evalsvm.html

📁 很好的matlab模式识别工具箱
💻 HTML
📖 第 1 页 / 共 2 页
字号:
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;run&nbsp;solver</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model&nbsp;=&nbsp;<span class=eval>feval</span>(&nbsp;options.solver,&nbsp;trn,&nbsp;solver_options&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ypred&nbsp;=&nbsp;<span class=eval>feval</span>(&nbsp;model.fun,&nbsp;trn.X,&nbsp;model&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'&nbsp;err&nbsp;=&nbsp;%.4f,&nbsp;testing'</span>,&nbsp;cerror(&nbsp;ypred,trn.y));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;classify&nbsp;validation&nbsp;data</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ypred&nbsp;=&nbsp;<span class=eval>feval</span>(&nbsp;model.fun,&nbsp;tst.X,&nbsp;model&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fold_error(k)&nbsp;=&nbsp;cerror(&nbsp;ypred,&nbsp;tst.y&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'&nbsp;err&nbsp;=&nbsp;%.4f\n'</span>,&nbsp;fold_error(k));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;cross-validation&nbsp;error</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err&nbsp;=&nbsp;mean(&nbsp;fold_error&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Errors(j,i)&nbsp;=&nbsp;&nbsp;err;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;min_error&nbsp;&gt;&nbsp;err,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_error&nbsp;=&nbsp;err;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best_model&nbsp;=&nbsp;model;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'cross-validation&nbsp;error&nbsp;=&nbsp;%.4f&nbsp;(best&nbsp;so&nbsp;far)\n\n'</span>,&nbsp;err);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'cross-validation&nbsp;error&nbsp;=&nbsp;%.4f\n\n'</span>,&nbsp;err);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<span class=comment>%&nbsp;disp&nbsp;info</span><br>&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'best&nbsp;model:&nbsp;ker=%s,&nbsp;C=%f,&nbsp;arg='</span>,&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best_model.options.ker,&nbsp;best_model.options.C);<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'%f&nbsp;'</span>,&nbsp;best_model.options.arg);<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'\ncross-validation&nbsp;error&nbsp;=&nbsp;%.4f\n'</span>,&nbsp;min_error);<br>&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<br><span class=keyword>elseif</span>&nbsp;<span class=stack>nargin</span>&nbsp;==&nbsp;3,&nbsp;<br>&nbsp;&nbsp;<span class=comment>%&nbsp;evaluation&nbsp;using&nbsp;val_data</span><br>&nbsp;&nbsp;<span class=comment>%=================================================================&nbsp;&nbsp;</span><br>&nbsp;&nbsp;options&nbsp;=&nbsp;c2s(arg3);<br>&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;~isfield(options,<span class=quotes>'verb'</span>),&nbsp;options.verb&nbsp;=&nbsp;0;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;~isfield(options,<span class=quotes>'ker'</span>),&nbsp;options.ker&nbsp;=&nbsp;<span class=quotes>'linear'</span>;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;~isfield(options,<span class=quotes>'solver'</span>),&nbsp;options.solver&nbsp;=&nbsp;<span class=quotes>'smo'</span>;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;~isfield(options,<span class=quotes>'solver_options'</span>),&nbsp;options.solver_options&nbsp;=&nbsp;[];&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;nargs&nbsp;=&nbsp;size(options.arg,2);<br>&nbsp;&nbsp;nc&nbsp;=&nbsp;length(options.C);<br>&nbsp;&nbsp;[dim,num_data]&nbsp;=&nbsp;size(arg1.X);<br><br>&nbsp;&nbsp;solver_options&nbsp;=&nbsp;options.solver_options;<br>&nbsp;&nbsp;solver_options.ker&nbsp;=&nbsp;options.ker;<br>&nbsp;&nbsp;min_error&nbsp;=&nbsp;inf;<br>&nbsp;&nbsp;Errors&nbsp;=&nbsp;[];<br>&nbsp;&nbsp;cnt_model&nbsp;=&nbsp;0;<br>&nbsp;&nbsp;num_model&nbsp;=&nbsp;nc*nargs;<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;<span class=keyword>for</span>&nbsp;i&nbsp;=&nbsp;1:nargs,<br>&nbsp;&nbsp;&nbsp;&nbsp;arg&nbsp;=&nbsp;options.arg(:,i);<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>for</span>&nbsp;j&nbsp;=&nbsp;1:nc,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt_model&nbsp;=&nbsp;cnt_model&nbsp;+&nbsp;1;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;C&nbsp;=&nbsp;options.C(j);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;svm&nbsp;parameters</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;solver_options.C&nbsp;=&nbsp;C;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;solver_options.arg&nbsp;=&nbsp;arg;<br>&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;display&nbsp;info</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'Model&nbsp;%d/%d:&nbsp;ker=%s,&nbsp;C=%f,&nbsp;arg='</span>,&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt_model,&nbsp;num_model,solver_options.ker,&nbsp;C);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'%f&nbsp;'</span>,&nbsp;arg);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'\n'</span>);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'#trn/tst&nbsp;=&nbsp;%d/%d,&nbsp;training'</span>,&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;length(arg1.y),&nbsp;length(arg2.y));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;run&nbsp;SVM&nbsp;solver</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;model&nbsp;=&nbsp;<span class=eval>feval</span>(&nbsp;options.solver,&nbsp;arg1,&nbsp;solver_options&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ypred&nbsp;=&nbsp;<span class=eval>feval</span>(&nbsp;model.fun,&nbsp;arg1.X,&nbsp;model&nbsp;);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'&nbsp;err&nbsp;=&nbsp;%.4f,&nbsp;testing'</span>,&nbsp;cerror(&nbsp;ypred,arg1.y));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=comment>%&nbsp;classify&nbsp;validation&nbsp;data</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ypred&nbsp;=&nbsp;<span class=eval>feval</span>(&nbsp;model.fun,&nbsp;arg2.X,&nbsp;model&nbsp;);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;err&nbsp;=&nbsp;cerror(ypred,arg2.y);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Errors(j,i)&nbsp;=&nbsp;&nbsp;err;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;min_error&nbsp;&gt;&nbsp;err,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_error&nbsp;=&nbsp;err;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best_model&nbsp;=&nbsp;model;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'&nbsp;err&nbsp;=&nbsp;%.4f&nbsp;(best&nbsp;so&nbsp;far)\n\n'</span>,&nbsp;err);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>else</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'&nbsp;err&nbsp;=&nbsp;%.4f\n\n'</span>,&nbsp;err);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<span class=keyword>end</span><br><br>&nbsp;&nbsp;<span class=comment>%&nbsp;disp&nbsp;info</span><br>&nbsp;&nbsp;<span class=keyword>if</span>&nbsp;options.verb&nbsp;==&nbsp;1,<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'best&nbsp;model:&nbsp;ker=%s,&nbsp;C=%f,&nbsp;arg='</span>,&nbsp;...<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;best_model.options.ker,&nbsp;best_model.options.C);<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'%f&nbsp;'</span>,&nbsp;best_model.options.arg);<br>&nbsp;&nbsp;&nbsp;&nbsp;<span class=io>fprintf</span>(<span class=quotes>'\ntesting&nbsp;error&nbsp;=&nbsp;%.4f\n'</span>,&nbsp;min_error);<br>&nbsp;&nbsp;<span class=keyword>end</span><br>&nbsp;&nbsp;<br><span class=keyword>end</span><br><br><span class=comment>%EOF</span><br></code>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -