📄 sgceval.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head> <title>Description of sgcEval</title> <meta name="keywords" content="sgcEval"> <meta name="description" content="sgcTrain: Evaluation for single Gaussian classifier"> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <meta name="generator" content="m2html © 2003 Guillaume Flandin"> <meta name="robots" content="index, follow"> <link type="text/css" rel="stylesheet" href="../m2html.css"></head><body><a name="_top"></a><div><a href="../index.html">Home</a> > <a href="index.html">dcpr</a> > sgcEval.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td><td align="right"><a href="index.html">Index for dcpr <img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>sgcEval</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>sgcTrain: Evaluation for single Gaussian classifier</strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>function [computedClass, recogRate, hitIndex]=sgcEval(DS, classParam, plotOpt) </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre class="comment"> sgcTrain: Evaluation for single Gaussian classifier
Usage: [computedClass, recogRate, hitIndex]=sgcEval(DS, classParam, plotOpt)
If DS does not have "output" field, then this command won't return "recogRate" and "hitIndex".</pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>This function calls:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="dcprDataPlot.html" class="code" title="function dcprDataPlot(DS, plotTitle, displayAnnotation)">dcprDataPlot</a> dcprDataPlot: Plot of 2D data for data clustering or pattern recognition</li><li><a href="prData.html" class="code" title="function [DS, TS]=prData(dataName)">prData</a> prData: Various data set for PR</li><li><a href="sgcEval.html" class="code" title="function [computedClass, recogRate, hitIndex]=sgcEval(DS, classParam, plotOpt)">sgcEval</a> sgcTrain: Evaluation for single Gaussian classifier</li><li><a href="sgcTrain.html" class="code" title="function [classParam, recogRate, hitIndex]=sgcTrain(DS, prior, plotOpt)">sgcTrain</a> sgcTrain: Training for single Gaussian classifier training</li></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="sgcEval.html" class="code" title="function [computedClass, recogRate, hitIndex]=sgcEval(DS, classParam, plotOpt)">sgcEval</a> sgcTrain: Evaluation for single Gaussian classifier</li><li><a href="sgcTrain.html" class="code" title="function [classParam, recogRate, hitIndex]=sgcTrain(DS, prior, plotOpt)">sgcTrain</a> sgcTrain: Training for single Gaussian classifier training</li></ul><!-- crossreference --><h2><a name="_subfunctions"></a>SUBFUNCTIONS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><ul style="list-style-image:url(../matlabicon.gif)"><li><a href="#_sub1" class="code">function selfdemo</a></li></ul><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function [computedClass, recogRate, hitIndex]=sgcEval(DS, classParam, plotOpt)</a>0002 <span class="comment">% sgcTrain: Evaluation for single Gaussian classifier</span>0003 <span class="comment">% Usage: [computedClass, recogRate, hitIndex]=sgcEval(DS, classParam, plotOpt)</span>0004 <span class="comment">% If DS does not have "output" field, then this command won't return "recogRate" and "hitIndex".</span>0005 0006 <span class="comment">% Roger Jang, 20041123, 20080924</span>0007 0008 <span class="keyword">if</span> nargin<1, <a href="#_sub1" class="code" title="subfunction selfdemo">selfdemo</a>; <span class="keyword">return</span>; <span class="keyword">end</span>0009 <span class="keyword">if</span> nargin<2, classParam=[]; <span class="keyword">end</span>0010 <span class="keyword">if</span> nargin<3, plotOpt=0; <span class="keyword">end</span>0011 0012 classNum=length(classParam);0013 [dim, dataNum]=size(DS.input);0014 logProb=zeros(classNum, dataNum);0015 <span class="keyword">for</span> i=1:classNum0016 dataMinusMu = DS.input-classParam(i).mu*ones(1, dataNum);0017 logProb(i,:) = -0.5*sum(dataMinusMu.*(classParam(i).invSigma*dataMinusMu), 1)+classParam(i).gconst;0018 logProb(i,:) = logProb(i,:)+log(classParam(i).weight); <span class="comment">% Take weight into consideration</span>0019 <span class="keyword">end</span>0020 [junk, computedClassIndex]=max(logProb);0021 className=[classParam.name];0022 computedClass=className(computedClassIndex);0023 <span class="keyword">if</span> isfield(DS, <span class="string">'output'</span>)0024 className=[classParam.name];0025 hitIndex=find(computedClass==DS.output);0026 recogRate = length(hitIndex)/dataNum;0027 <span class="keyword">end</span>0028 0029 <span class="keyword">if</span> plotOpt & dim==20030 <a href="dcprDataPlot.html" class="code" title="function dcprDataPlot(DS, plotTitle, displayAnnotation)">dcprDataPlot</a>(DS);0031 axis image; box on0032 missIndex=1:dataNum;0033 missIndex(hitIndex)=[];0034 <span class="comment">% display these points</span>0035 <span class="keyword">for</span> i=1:length(missIndex),0036 line(DS.input(1,missIndex(i)), DS.input(2,missIndex(i)), <span class="string">'marker'</span>, <span class="string">'x'</span>, <span class="string">'color'</span>, <span class="string">'k'</span>);0037 <span class="keyword">end</span>0038 titleString = sprintf(<span class="string">'%d error points denoted by "x".'</span>, length(missIndex));0039 title(titleString);0040 <span class="keyword">end</span>0041 0042 <span class="comment">% ====== Self demo</span>0043 <a name="_sub1" href="#_subfunctions" class="code">function selfdemo</a>0044 [DS, TS]=<a href="prData.html" class="code" title="function [DS, TS]=prData(dataName)">prData</a>(<span class="string">'iris'</span>);0045 DS.input=DS.input(3:4, :);0046 TS.input=TS.input(3:4, :);0047 [classParam, recogRate1]=<a href="sgcTrain.html" class="code" title="function [classParam, recogRate, hitIndex]=sgcTrain(DS, prior, plotOpt)">sgcTrain</a>(DS);0048 [computedClass, recogRate2, hitIndex]=<a href="sgcEval.html" class="code" title="function [computedClass, recogRate, hitIndex]=sgcEval(DS, classParam, plotOpt)">sgcEval</a>(TS, classParam, 1);0049 fprintf(<span class="string">'Inside recog rate = %g%%\n'</span>, recogRate1*100);0050 fprintf(<span class="string">'Outside recog rate = %g%%\n'</span>, recogRate2*100);</pre></div><hr><address>Generated on Thu 30-Oct-2008 12:53:56 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -