⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bayes22.m

📁 采用身高和体重数据作为特征
💻 M
字号:
f1=fopen('FEMALE.TXT','r');
s=textscan(f1,'%f %f');
p1=s{1}
q1=s{2}
x1(:,1)=p1
x1(:,2)=q1%得到女生样本矩阵为x1
f2=fopen('MALE.TXT','r');
t=textscan(f2,'%f %f');
p2=t{1}
q2=t{2}
x2(:,1)=p2
x2(:,2)=q2%得到男生样本矩阵为x2
y1(1,1)=var(p1,1)
y1(1,2)=0
y1(2,1)=0
y1(2,2)=var(q1,1)%得到x1的协方差矩阵y1的四个元素
y2(1,1)=var(p2,1)
y2(1,2)=0
y2(2,1)=0
y2(2,2)=var(q2,1)%得到x2的协方差矩阵y2的四个元素
z1=mean(x1)%x1的均值矩阵
z2=mean(x2)%x2的均值矩阵
r1=det(y1)%x1的协方差矩阵的行列式值
r2=det(y2)%x2的协方差矩阵的行列式值
f3=fopen('test.txt','r');
m=textscan(f3,'%f %f %c');
a1=m{1}
b1=m{2}
c(:,1)=a1
c(:,2)=b1
n=max(size(c))
for i=1:n
    x=c(i,:);
    p=0.5;%p为属于女生的先验概率,则1-p为男生的先验概率
    g=1/2*(x'-z2')'*inv(y2)*(x'-z2')-1/2*(x'-z1')'*inv(y1)*(x'-z1')+log(r2)-log(r1)+log(p)-log(1-p);%g为判别函数
    if g>0
    disp('f')%判为女生
    else if g<0
        disp('m')%判为男生
        else
           disp('error')
        end
    end 
 end  

⌨️ 快捷键说明

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