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

📄 knnrloo.html

📁 一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有用,谢谢支持
💻 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 knnrLoo</title>  <meta name="keywords" content="knnrLoo">  <meta name="description" content="knnrLoo: Leave-one-out recognition rate of KNNR">  <meta http-equiv="Content-Type" content="text/html; charset=big5">  <meta name="generator" content="m2html &copy; 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> &gt;  <a href="index.html">dcpr</a> &gt; knnrLoo.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td><td align="right"><a href="index.html">Index for dcpr&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>knnrLoo</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>knnrLoo: Leave-one-out recognition rate of KNNR</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 [recogRate, computed, nearestIndex] = knnrLoo(DS, k, 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">knnrLoo: Leave-one-out recognition rate of KNNR
    Usage: [recogRate, computed, nearestIndex] = knnrLoo(DS, k, plotOpt)
        recogRate: recognition rate
        computed: Computed output
        nearestIndex: Nearest sample index of all data points
        DS: Design set
            DS.input: Input data (each column is a feature vector)
            DS.output: Output class (ranging from 1 to N)
        k: The &quot;k&quot; in k-nearest neighbor rule
        plotOpt: 1 for ploting data (2D only)

    For example:
        DS=prData('random2');
        k=1;
        plotOpt=1;
        [recogRate, computed, nearestIndex] = knnrLoo(DS, k, plotOpt);</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="knnr.html" class="code" title="function [computedOutput, combinedComputedOutput, nearestIndex, knnrMat] = knnr(DS, TS, k)">knnr</a>	knnr: K-nearest neighbor rule for classification</li><li><a href="prData.html" class="code" title="function [DS, TS]=prData(dataName)">prData</a>	prData: Various data set for PR</li></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="knnrLooWrtK.html" class="code" title="function [misclassify, elapsed_time] = knnrLooWrtK(DS, kMax, plotOpt)">knnrLooWrtK</a>	knnrWrtK: Try various values of K in leave-one-out K-NNR.</li><li><a href="lda.html" class="code" title="function [DS2, discrimVec, eigValues] = lda(DS, discrimVecNum)">lda</a>	lda: Linear discriminant analysis</li><li><a href="ldaKnnrLoo.html" class="code" title="function recogRate=ldaKnnrLoo(DS, maxDim, plotOpt)">ldaKnnrLoo</a>	ldaKnnrLoo: LDA analysis using KNNR and LOO</li><li><a href="pcaKnnrLoo.html" class="code" title="function recogRate=pcaKnnrLoo(DS, plotOpt)">pcaKnnrLoo</a>	ldaKnnrLoo: PCA analysis using KNNR and LOO</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 [recogRate, computed, nearestIndex] = knnrLoo(DS, k, plotOpt)</a>0002 <span class="comment">%knnrLoo: Leave-one-out recognition rate of KNNR</span>0003 <span class="comment">%    Usage: [recogRate, computed, nearestIndex] = knnrLoo(DS, k, plotOpt)</span>0004 <span class="comment">%        recogRate: recognition rate</span>0005 <span class="comment">%        computed: Computed output</span>0006 <span class="comment">%        nearestIndex: Nearest sample index of all data points</span>0007 <span class="comment">%        DS: Design set</span>0008 <span class="comment">%            DS.input: Input data (each column is a feature vector)</span>0009 <span class="comment">%            DS.output: Output class (ranging from 1 to N)</span>0010 <span class="comment">%        k: The &quot;k&quot; in k-nearest neighbor rule</span>0011 <span class="comment">%        plotOpt: 1 for ploting data (2D only)</span>0012 <span class="comment">%</span>0013 <span class="comment">%    For example:</span>0014 <span class="comment">%        DS=prData('random2');</span>0015 <span class="comment">%        k=1;</span>0016 <span class="comment">%        plotOpt=1;</span>0017 <span class="comment">%        [recogRate, computed, nearestIndex] = knnrLoo(DS, k, plotOpt);</span>0018 0019 <span class="comment">%    Roger Jang, 19970628, 20040928</span>0020 0021 <span class="keyword">if</span> nargin&lt;1, <a href="#_sub1" class="code" title="subfunction selfdemo">selfdemo</a>; <span class="keyword">return</span>; <span class="keyword">end</span>0022 <span class="keyword">if</span> nargin&lt;2, k=1; <span class="keyword">end</span>0023 <span class="keyword">if</span> nargin&lt;3, plotOpt=0; <span class="keyword">end</span>0024 0025 output=unique(DS.output);0026 <span class="keyword">if</span> ~isequal(1:length(output), output)0027     error(<span class="string">'DS.output has wrong format! (It should have a value from 1 to no. of classes.)\n'</span>);0028 <span class="keyword">end</span>0029 0030 [dim, dataNum] = size(DS.input);0031 nearestIndex = zeros(1, dataNum);0032 computed = zeros(size(DS.output));0033 <span class="keyword">for</span> i=1:dataNum0034 <span class="comment">%    if rem(i, 100)==0, fprintf('%d/%d\n', i, dataNum); end</span>0035     looData = DS;0036     looData.input(:,i) = [];0037     looData.output(:,i) = [];0038     TS.input=DS.input(:,i);0039     TS.output=DS.output(:,i);0040     [computed(i), junk, tmp] = <a href="knnr.html" class="code" title="function [computedOutput, combinedComputedOutput, nearestIndex, knnrMat] = knnr(DS, TS, k)">knnr</a>(looData, TS, k);0041     nearestIndex(i) = tmp(1);0042     <span class="keyword">if</span> nearestIndex(i)&gt;=i,0043         nearestIndex(i)=nearestIndex(i)+1;0044     <span class="keyword">end</span>0045 <span class="keyword">end</span>0046 hitIndex = find(DS.output==computed);0047 recogRate = length(hitIndex)/dataNum;0048 0049 <span class="keyword">if</span> plotOpt &amp; dim==20050     <a href="dcprDataPlot.html" class="code" title="function dcprDataPlot(DS, plotTitle, displayAnnotation)">dcprDataPlot</a>(DS);0051     axis image; box on0052     missIndex=1:dataNum;0053     missIndex(hitIndex)=[];0054     <span class="comment">% display these points</span>0055     <span class="keyword">for</span> i=1:length(missIndex),0056         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>);0057     <span class="keyword">end</span>0058     titleString = sprintf(<span class="string">'%d leave-one-out error points denoted by &quot;x&quot;.'</span>, length(missIndex));0059     title(titleString);0060 <span class="keyword">end</span>0061 0062 <span class="comment">% ====== Self demo ======</span>0063 <a name="_sub1" href="#_subfunctions" class="code">function selfdemo</a>0064 DS=<a href="prData.html" class="code" title="function [DS, TS]=prData(dataName)">prData</a>(<span class="string">'random2'</span>);0065 k=1;0066 plotOpt=1;0067 [recogRate, hitIndex, nearestIndex] = feval(mfilename, DS, k, plotOpt);</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> &copy; 2003</address></body></html>

⌨️ 快捷键说明

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