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

📄 inputselectsequential.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 inputSelectSequential</title>  <meta name="keywords" content="inputSelectSequential">  <meta name="description" content="inputSelectSequential: Input selection via sequential forward selection using leave-one-out">  <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; inputSelectSequential.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>inputSelectSequential</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>inputSelectSequential: Input selection via sequential forward selection using leave-one-out</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 [bestSelectedInput, bestRecogRate, allSelectedInput, allRecogRate, elapsedTime] = inputSelectSequential(DS, inputNum, classifier, param, 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"> inputSelectSequential: Input selection via sequential forward selection using leave-one-out
    Usage: [bestSelectedInput, allSelectedInput, allRecogRate, elapsedTime] = inputSelectSequential(DS, inputNum, classifier, param, plotOpt)

    Input:
        DS: design set
        inputNum: up to inputNum inputs are selected
        classifier: classifier for input selection
        param: parameters for classifier
        plotOpt: 0 for not plotting (default: 1)
    Output:
        bestSelectedInput: overall selected input index
        bestRecogRate: recognition rate based on the final selected input
        allSelectedInput: all selected input during the process 
        allRecogRate: all recognition rate 
        elapseTime: elapsed time</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="classConvert.html" class="code" title="function label2 = classConvert(label)">classConvert</a>	classConvert: Convert class labels into integers from 1 to n</li><li><a href="inputNameList.html" class="code" title="function str=inputNameList(inputIndex, inputName)">inputNameList</a>	</li><li><a href="inputSelectPlot.html" class="code" title="function inputSelectPlot(allRecogRate, allSelectedInput, inputName, callingFunction);">inputSelectPlot</a>	inputSelectPlot: Plot for input selection</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)"></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 [bestSelectedInput, bestRecogRate, allSelectedInput, allRecogRate, elapsedTime] = inputSelectSequential(DS, inputNum, classifier, param, plotOpt)</a>0002 <span class="comment">% inputSelectSequential: Input selection via sequential forward selection using leave-one-out</span>0003 <span class="comment">%    Usage: [bestSelectedInput, allSelectedInput, allRecogRate, elapsedTime] = inputSelectSequential(DS, inputNum, classifier, param, plotOpt)</span>0004 <span class="comment">%</span>0005 <span class="comment">%    Input:</span>0006 <span class="comment">%        DS: design set</span>0007 <span class="comment">%        inputNum: up to inputNum inputs are selected</span>0008 <span class="comment">%        classifier: classifier for input selection</span>0009 <span class="comment">%        param: parameters for classifier</span>0010 <span class="comment">%        plotOpt: 0 for not plotting (default: 1)</span>0011 <span class="comment">%    Output:</span>0012 <span class="comment">%        bestSelectedInput: overall selected input index</span>0013 <span class="comment">%        bestRecogRate: recognition rate based on the final selected input</span>0014 <span class="comment">%        allSelectedInput: all selected input during the process</span>0015 <span class="comment">%        allRecogRate: all recognition rate</span>0016 <span class="comment">%        elapseTime: elapsed time</span>0017 0018 <span class="comment">%    Roger Jang, 19971227, 20041102</span>0019 0020 <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>0021 [dim, dataNum]=size(DS.input);0022 <span class="keyword">if</span> nargin&lt;2, inputNum=dim; <span class="keyword">end</span>0023 <span class="keyword">if</span> nargin&lt;3, classifier=<span class="string">'knnrLoo'</span>; <span class="keyword">end</span>0024 <span class="keyword">if</span> nargin&lt;4, param=[]; <span class="keyword">end</span>0025 <span class="keyword">if</span> nargin&lt;5, plotOpt=1; <span class="keyword">end</span>0026 0027 DS.output=<a href="classConvert.html" class="code" title="function label2 = classConvert(label)">classConvert</a>(DS.output);    <span class="comment">% Convert the output to be intergers from 1 to classNum</span>0028 <span class="keyword">if</span> ~isfield(DS, <span class="string">'inputName'</span>)0029     feaNum=size(DS.input, 1);0030     DS.inputName=cellstr(int2str((1:feaNum)'));0031 <span class="keyword">end</span>0032 inputName=DS.inputName;0033 modelNum=inputNum*(2*dim-inputNum+1)/2;        <span class="comment">% No. of KNN models</span>0034 0035 <span class="comment">% ====== Construct KNN with different input variables</span>0036 fprintf(<span class="string">'\nConstruct %d KNN models, each with up to %d inputs selected from %d candidates...\n'</span>, modelNum, inputNum, dim);0037 selectedInput=[];0038 modelIndex=1;0039 t0=clock;0040 <span class="keyword">for</span> i=1:inputNum0041     fprintf(<span class="string">'\nSelecting input %d:\n'</span>, i);0042     recogRate = -realmax*ones(1, dim);0043     <span class="keyword">for</span> j=1:dim,0044         <span class="keyword">if</span> isempty(selectedInput) | isempty(find(selectedInput==j))0045             currentSelectedInput = [selectedInput, j];0046             DS2=DS;0047             DS2.input=DS.input(currentSelectedInput, :);0048             recogRate(j) = feval(classifier, DS2, param);0049             allRecogRate(modelIndex) = recogRate(j);0050             fprintf(<span class="string">'Model %d/%d:'</span>, modelIndex, modelNum);0051             fprintf(<span class="string">'%s --&gt; Recognition rate = %.1f%%\n'</span>, <a href="inputNameList.html" class="code" title="function str=inputNameList(inputIndex, inputName)">inputNameList</a>(currentSelectedInput, inputName), recogRate(j)*100);0052             allSelectedInput{modelIndex} = currentSelectedInput;0053             modelIndex = modelIndex+1;0054         <span class="keyword">end</span>0055     <span class="keyword">end</span>0056     [a, b] = max(recogRate);0057     selectedInput = [selectedInput, b];0058     fprintf(<span class="string">'Currently selected inputs: %s\n'</span>, <a href="inputNameList.html" class="code" title="function str=inputNameList(inputIndex, inputName)">inputNameList</a>(selectedInput, inputName));0059 <span class="keyword">end</span>0060 0061 [bestRecogRate, b] = max(allRecogRate);0062 bestSelectedInput = allSelectedInput{b};0063 fprintf(<span class="string">'\nOverall maximal recognition rate = %.1f%%.\n'</span>, bestRecogRate*100);0064 fprintf(<span class="string">'Overall selected inputs: %s\n'</span>, <a href="inputNameList.html" class="code" title="function str=inputNameList(inputIndex, inputName)">inputNameList</a>(bestSelectedInput, inputName));0065 elapsedTime=etime(clock, t0);0066 0067 <span class="keyword">if</span> plotOpt0068     <a href="inputSelectPlot.html" class="code" title="function inputSelectPlot(allRecogRate, allSelectedInput, inputName, callingFunction);">inputSelectPlot</a>(allRecogRate*100, allSelectedInput, inputName, mfilename);0069 <span class="keyword">end</span>0070 0071 <span class="comment">% ====== Self demo</span>0072 <a name="_sub1" href="#_subfunctions" class="code">function selfdemo</a>0073 DS=<a href="prData.html" class="code" title="function [DS, TS]=prData(dataName)">prData</a>(<span class="string">'iris'</span>);0074 feval(mfilename, DS);</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 + -