📄 fisher.m
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -