w12=xlsread('fisher数据样本.xlsx','C2:F16'); %分别选取类1和类2、测试样本的数据
w1=w12(1:5,:);
w2=w12(6:12,:);
sample=w12(13:15,:); %计算类1和类2的样本数
r1=size(w1,1);
r2=size(w2,1);
r3=size(sample,1); %计算类1和类2的均值(矩阵)
m1=mean(w1);
m2=mean(w2); %各类类内离散度矩阵(协方差矩阵)
s1=cov(w1)*(r1-1);
s2=cov(w2)*(r2-1); %总类内离散度矩阵
sw=s1+s2; %投影向量的计算公式
w=inv(sw)*(m1-m2)'; %计算投影后的一位空间内,各类的均值
y1=w'*m1';
y2=w'*m2'; %计算阈值
w0=-1/2*(y1+y2);%和类相同符号被归为同类
for i=1:r3
y(i)=sample(i,:)*w+w0;
if y(i)*(w'*w1(1,:)'+w0)>0
y(i)=1;
else
y(i)=2;
end
end
w1=w12(1:5,:);
w2=w12(6:12,:);
sample=w12(13:15,:); %计算类1和类2的样本数
r1=size(w1,1);
r2=size(w2,1);
r3=size(sample,1); %计算类1和类2的均值(矩阵)
m1=mean(w1);
m2=mean(w2); %各类类内离散度矩阵(协方差矩阵)
s1=cov(w1)*(r1-1);
s2=cov(w2)*(r2-1); %总类内离散度矩阵
sw=s1+s2; %投影向量的计算公式
w=inv(sw)*(m1-m2)'; %计算投影后的一位空间内,各类的均值
y1=w'*m1';
y2=w'*m2'; %计算阈值
w0=-1/2*(y1+y2);%和类相同符号被归为同类
for i=1:r3
y(i)=sample(i,:)*w+w0;
if y(i)*(w'*w1(1,:)'+w0)>0
y(i)=1;
else
y(i)=2;
end
end
y
样本数据为:
结果 :
1 2 2