贝叶斯分类算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
贝叶斯分类算法
matlab源程序:
A1=[2 4 3 2 4 3 3 6 6 3;3 0 2 2 2 1 4 1 2 3];
B1=[9;5];
C1=[A1,B1] %类别为C j及在C j条件下A i取a i的样例数
A2=[A1(1,:)./B1(1);A1(2,:)./B1(2)];
B2=[B1(1)/sum(B1);B1(2)/sum(B1)]
C2=[A2,B2] %先验概率P(C j) 和条件概率P(a i|C j)
disp('样本x={Sunny,Hot,High,Weak}')
P1=C2(1,1)*C2(1,4)*C2(1,7)*C2(1,9)*C2(1,11); %等于Yes的概率P(Yes|x)
P2=C2(2,1)*C2(2,4)*C2(2,7)*C2(2,9)*C2(2,11); %等于No的概率P(No|x)
disp('等于yes的概率P(Yes|x)=')
disp(P1)
disp('等于No的概率P(No|x)=')
disp(P2)
max(P1,P2); %选择其中概率最大的类别作为x的类别if P1>=P2
disp('x分类为Yes')
else
disp('x分类为No')
end
运行结果:
C1 =
2 4
3 2
4 3 3 6 6 3 9
3 0 2 2 2 1
4 1 2 3
5 B2 =
0.6429
0.3571
C2 =
Columns 1 through 8
0.2222 0.4444 0.3333 0.2222 0.4444 0.3333 0.3333 0.6667
0.6000 0 0.4000 0.4000 0.4000 0.2000 0.8000 0.2000
Columns 9 through 11
0.6667 0.3333 0.6429
0.4000 0.6000 0.3571
样本x={Sunny,Hot,High,Weak}
等于yes的概率P(Yes|x)=
0.0071
等于no的概率P(No|x)=
0.0274
x分类为No