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

📄 rocplot.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 rocPlot</title>  <meta name="keywords" content="rocPlot">  <meta name="description" content="rocPlot: Plot for receiver operating curve">  <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; rocPlot.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>rocPlot</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>rocPlot: Plot for receiver operating curve</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 [fn, fp]=rocPlot(data1, data2, scaleStr) </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"> rocPlot: Plot for receiver operating curve
    Usage: rocPlot(data1, data2)
        data1: vector for data of negative set
        data2: vector for data of positive set
        scaleStr: 'log' or 'linear'

    For example:
        data1=randn(1,300)-1;
        data2=randn(1,300)+1;
        subplot(1,2,1);
        rocPlot(data1, data2);
        subplot(1,2,2);
        rocPlot(data1, data2, 'log');</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)"></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"><li><a href="roc.html" class="code" title="function [threshold, fp, fn, mu1, var1, mu2, var2, a, b]=roc(data1, data2, plotOpt);">roc</a>	roc</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 [fn, fp]=rocPlot(data1, data2, scaleStr)</a>0002 <span class="comment">% rocPlot: Plot for receiver operating curve</span>0003 <span class="comment">%    Usage: rocPlot(data1, data2)</span>0004 <span class="comment">%        data1: vector for data of negative set</span>0005 <span class="comment">%        data2: vector for data of positive set</span>0006 <span class="comment">%        scaleStr: 'log' or 'linear'</span>0007 <span class="comment">%</span>0008 <span class="comment">%    For example:</span>0009 <span class="comment">%        data1=randn(1,300)-1;</span>0010 <span class="comment">%        data2=randn(1,300)+1;</span>0011 <span class="comment">%        subplot(1,2,1);</span>0012 <span class="comment">%        rocPlot(data1, data2);</span>0013 <span class="comment">%        subplot(1,2,2);</span>0014 <span class="comment">%        rocPlot(data1, data2, 'log');</span>0015 0016 <span class="comment">%    Roger Jang, 20061025</span>0017 0018 <span class="keyword">if</span> nargin&lt;3, scaleStr=<span class="string">'linear'</span>; <span class="keyword">end</span>0019 <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>0020 0021 num1=length(data1);0022 num2=length(data2);0023 allData=[data1(:); data2(:)]';0024 dataNum=num1+num2;0025 minValue=min(allData);0026 maxValue=max(allData);0027 0028 <span class="keyword">if</span> dataNum&gt;2000029     thresholds=linspace(minValue, maxValue);0030 <span class="keyword">else</span>0031     sorted=sort(allData);0032     thresholds=([sorted(1)-1, sorted]+[sorted, sorted(end)+1])/2;0033 <span class="keyword">end</span>0034 0035 <span class="keyword">for</span> i=1:length(thresholds);0036     th=thresholds(i);0037     fp(i)=sum(data1&gt;=th)/dataNum;0038     fn(i)=sum(data2&lt; th)/dataNum;0039 <span class="keyword">end</span>0040 plot(fn*100, fp*100, <span class="string">'.-'</span>);0041 set(gca, <span class="string">'xscale'</span>, scaleStr, <span class="string">'yscale'</span>, scaleStr);0042 xlabel(<span class="string">'False-negative error rate (%)'</span>);0043 ylabel(<span class="string">'False-positive error rate (%)'</span>);0044 0045 [junk, id(1)]=min(abs(fn-fp));0046 [junk, id(2)]=min(abs(5*fn-fp));0047 [junk, id(3)]=min(abs(fn-5*fp));0048 <span class="keyword">for</span> i=1:length(id);0049     index=id(i);    0050     th=thresholds(index);0051     line(fn(index)*100, fp(index)*100, <span class="string">'color'</span>, <span class="string">'r'</span>, <span class="string">'marker'</span>, <span class="string">'o'</span>);0052     text(fn(index)*100, fp(index)*100, sprintf(<span class="string">'  \\theta=%.4f (fn=%.4f%%, fp=%.4f%%)'</span>, th, 100*fn(index), 100*fp(index)));0053 <span class="keyword">end</span>0054 axis square, grid on0055 0056 <span class="comment">% ====== Self demo</span>0057 <a name="_sub1" href="#_subfunctions" class="code">function selfdemo</a>0058 data1=randn(1,100)*5;0059 data2=randn(1,200)*2+3;0060 subplot(1,2,1);0061 feval(mfilename, data1, data2);0062 subplot(1,2,2);0063 feval(mfilename, data1, data2, <span class="string">'log'</span>);</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 + -