资源简介

一个最小风险贝叶斯决策的程序,很不错,推荐。

资源截图

代码片段和文件信息

clear
syms pw1 pw2;
pf=input(‘女生的先验概率:‘);
pm=1-pf;
X=input(‘请输入身高体重矩阵:‘);
X=X‘

%求出为女生的概率密度函数
fid1=fopen(‘FEMALE.txt‘‘r‘);
rf=textscan(fid1 ‘%f %f‘);
fheight=mean(rf{1});
fweight=mean(rf{2});
fm=[fheight;fweight];
fM1=cov(rf{1}rf{2});
 fM=det(fM1);
fw1=1/((2*pi)*sqrt(fM))*exp(-0.5*(X-fm)‘*inv(fM1)*(X-fm));
%求出为男生的概率密度函数
fid2=fopen(‘MALE.txt‘‘r‘);
rm=textscan(fid2 ‘%f %f‘);
mheight=mean(rm{1});
fweight=mean(rm{2});
X2=[fheight;fweight];
mN1=cov(rm{1}rm{2});
mN=det((mN1));
fw2=1/((2*pi)*sqrt(mN))*exp(-0.5*(X-X2)‘*inv(mN1)*(X-X2));
%求后验概率
hpf=pf*fw1/(pf*fw1+pm*fw2);
hpm=pm*fw2/(pf*fw1+pm*fw2);
 %设置风险矩阵
f=[0 7;3 0];
%计算风险及进行判决
Rf=f(11)*hpf+f(12)*hpm
Rm=f(21)*hpf+f(22)*hpm
disp(‘身高和体重相关时,最小风险Bayes判决结果:‘)
if Rf>=Rm
     disp(‘It is a male!‘);
else
     disp(‘It is a female!‘);
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        348  2010-03-29 10:48  test1.txt

     文件       3018  2010-03-29 11:58  test2.txt

     文件       1197  2010-03-29 12:40  test_sike.m

     文件       1171  2010-03-29 22:20  xunlian_sike.m

     文件        915  2010-03-28 22:26  bayes_sike.m

     文件       1005  2010-03-28 22:25  bayes_sike_notc.m

     文件        426  2004-10-08 09:03  FEMALE.TXT

     文件        424  2004-10-08 09:04  MALE.TXT

----------- ---------  ---------- -----  ----

                 8504                    8


评论

共有 条评论