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

📄 ldainsel.m

📁 Linear Discriminant Analysis in matlab
💻 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 + -