bayes3.m
来自「采用身高和体重数据作为特征」· M 代码 · 共 31 行
M
31 行
f1=fopen('FEMALE.TXT','r');
r=textscan(f1,'%f %f');
x1=r{1};%读取FEMALE.TXT文件中的第一列即身高数据,然后赋值给数组x1
u1=mean(x1)%求x1中元素的均值
s1=var(x1,1)%求方差σ^2
f2=fopen('MALE.TXT','r');
q=textscan(f2,'%f %f');
x2=q{1};
u2=mean(x2)
s2=var(x2,1)
f3=fopen('test.txt','r');
t=textscan(f3,'%f %f %c');
z=t{1};
n=max(size(z))
for i=1:n
x=z(i);
p=0.75;%p为属于女生的先验概率,则1-p为男生的先验概率
k11=0;k12=1;k21=6;k22=0;%风险系数
g=log(1-p)-log(p)+log(k12)-log(k21)+log(sqrt(2*pi*s1))-log(sqrt(2*pi*s2))+(x-u1)^2/(2*s1)-(x-u2)^2/(2*s2);%基于最小风险的判别函数
if g<0
disp('f')%判为女生
else if g>0
disp('m')%判为男生
else
disp('error')
end
end
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?