?? ldainsel.m
字號:
function recog = ldainsel(feature, class, dim);
%LDAINSEL LDA for input selection
if nargin==0; selfdemo; return; end
if nargin<3, dim=size(feature,2); end
dataNum = size(feature,1);
dimNum = size(feature,2);
data = [feature, class];
fprintf('Leave-one-out analysis:\n');
fprintf('\tFull data:\n');
wrong = looknn(data);
correct = size(data, 1) - wrong;
fprintf('\t\tLOO error count = %g\n', wrong);
fprintf('\t\tRecognition rate = %g/%g = %5.2f%%\n', correct, dataNum,...
correct/dataNum*100);
recog = zeros(dimNum, 1);
newdata = lda(data);
for i = 1:dimNum,
fprintf('\tPartial data after LDA (dimension = %g):\n', i);
wrong = looknn([newdata(:, 1:i) newdata(:, end)]);
correct = size(data, 1) - wrong;
recog(i) = correct/dataNum*100;
fprintf('\t\tLOO error count = %g\n', wrong);
fprintf('\t\tRecognition rate = %g/%g = %5.2f%%\n', correct, ...
dataNum, recog(i));
end
% ====== Self demo
function selfdemo
load wine.dat;
feature = normal(wine(:,2:end));
class = wine(:,1);
dim = size(feature,2);
recog = feval(mfilename, feature, class, dim);
figure
plot(1:dim, recog, '-o');
xlabel('Dimensions used in LDA');
ylabel('Leave-one-out recognition rates');
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -