ldaknnrloo.m

来自「一个关于数据聚类和模式识别的程序,在生物化学,化学中因该都可以用到.希望对大家有」· M 代码 · 共 34 行

M
34
字号
function recogRate=ldaKnnrLoo(DS, maxDim, plotOpt)
% ldaKnnrLoo: LDA analysis using KNNR and LOO
%	Usage: recogRate=ldaKnnrLoo(DS, maxDim, plotOpt)

%	Roger Jang, 20060507

if nargin<1, selfdemo; return; end
[featureNum, dataNum] = size(DS.input);
if nargin<2, maxDim=featureNum; end
if nargin<3, plotOpt=0; end

if isempty(maxDim), maxDim=featureNum; end
if isnan(maxDim), maxDim=featureNum; end
maxDim=min(maxDim, featureNum);

DS2 = lda(DS);
recogRate=[];
for i = 1:maxDim
	DS3=DS2; DS3.input=DS2.input(1:i, :);
	[recogRate(i), hitIndex] = knnrLoo(DS3);
	hitCount=length(hitIndex);
%	fprintf('\t\tLOO recog. rate = %d/%d = %g%%\n', hitCount, dataNum, 100*recogRate(i));
end

if plotOpt
	plot(1:maxDim, 100*recogRate, 'o-'); grid on
	xlabel('No. of projected features based on LDA');
	ylabel('LOO recognition rates using KNNR (%)');
end

% ====== Self demo
function selfdemo
DS=prData('wine');
feval(mfilename, DS, [], 1);

⌨️ 快捷键说明

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