fisher.m
来自「利用Fisher分类器对数据进行分类」· M 代码 · 共 45 行
M
45 行
clear all;
load FEMALE.txt;
load MALE.txt;
FEMALE=FEMALE'; %特征为列向量
MALE=MALE';
fid=fopen('test1.txt','r');
test1=fscanf(fid,'%f %f %c',[3,inf]);
test=test1';
fclose(fid);
FS=[0 0;0 0];
MS=[0 0;0 0];
Fmean = mean(FEMALE')';
Mmean = mean(MALE')';
figure;
for i=1:50
FS1=(FEMALE(:,i)-Fmean)*(FEMALE(:,i)-Fmean)';
MS2=(MALE(:,i)-Mmean)*(MALE(:,i)-Mmean)';
FS = FS1+FS;
MS = MS2+MS
end;
SW=FS+MS;
Sb=(Fmean-Mmean)*(Fmean-Mmean)';
w=inv(SW)*(Fmean-Mmean);
mu1=w'*Fmean;
mu2=w'*Mmean;
b=(mu1+mu2)/2;
for i=1:35
if (test(i,3)==102)
plot(test(i,1),test(i,2),'r+');
end;
if (test(i,3)==109)
plot(test(i,1),test(i,2),'k*');
end;
hold on;
end;
x=test(:,1);
y=(b-w(1,1)*x)/w(2,1);
plot(x,y);
title('Fisher方法求分界线');
xlabel('身高(cm)'),ylabel('体重(kg)');
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?