bayes1.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.5;%p为属于女生的先验概率,则1-p为男生的先验概率
    g=log(p)-log(1-p)+log(sqrt(2*pi*s2))-log(sqrt(2*pi*s1))+(x-u2)^2/(2*s2)-(x-u1)^2/(2*s1);%g为判别函数
    if g>0
    disp('f')%判为女生
    else if g<0
        disp('m')%判为男生
        else
           disp('error')%不能判别
        end
    end 
 end  



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?