parzen.m
来自「这是一个模式识别中的parzen窗的一个简单仿真分类实例」· M 代码 · 共 52 行
M
52 行
clear all;
load('E:\研究生课程\模式识别课程\homework1_1007\FEMALE.TXT');
load('E:\研究生课程\模式识别课程\homework1_1007\MALE.TXT');
fid=fopen('E:\研究生课程\模式识别课程\homework1_1007\test1.txt','r');
test1=fscanf(fid,'%f %f %c',[3,inf]);
test=test1';
fclose(fid);
PrazenFemaleprok=zeros(2,50);
PrazenMaleprok = zeros(2,50);
PreFp=0.5;
PreMp=0.5;
Nerror=0;
errot=0;
figure;
for i=1:35
for j=1:50
PrazenFemaleprok(1,j)=1/sqrt(2*pi)*exp(-1/2*(test(i,1)-FEMALE(j,1))^2);
PrazenMaleprok(1,j)=1/sqrt(2*pi)*exp(-1/2*(test(i,1)-MALE(j,1))^2);
end;
FemaleProk = sum(PrazenFemaleprok,2);
MaleProk = sum(PrazenMaleprok,2);
FemalePro = FemaleProk(1,1)/50;
MalePro = MaleProk(1,1)/50;0.
if(FemalePro *PreFp>MalePro*PreMp)
plot3(i,test(i,1),test(i,2),'k*');
if(test(i,3)==109)
Nerror=Nerror+1;
end;
else
if(FemalePro *PreFp<MalePro*PreMp)
plot3(i,test(i,1),test(i,2),'r+');
if test(i,3)==102
Nerror=Nerror+1;
end;
end;
end;
hold on;
end;
title('非参数估计Parzen窗法');
xlabel('测试序号'),ylabel('身高(cm)'),zlabel('体重(kg)');
error = Nerror/35*100;
sprintf('%s %d %s %0.2f%s','分类错误个数:',Nerror,'分类错误率为:',error,'%')
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?