基于最小错误率的贝叶斯决策
1 实验目的
- 进一步理解和掌握贝叶斯算法的基本原理;
- 能够使用贝叶斯算法对数据进行分类;
- 理解掌握最小错误率贝叶斯分类器
2 实验环境
Windows 10,Python 3.7.4,PyCharm 2019.2.3
3 实验原理
Bayes公式:设实验E的样本空间为S,X为E的事件,w1,w2,...,wn为S的一个划分(即类别)且有P(X)>0,P(wi)>0,(i=1,2,...,n),则下式
称为Bayes公式。从公式中可以看出基于贝叶斯的决策结果取决于实际已给出训练样本的类条件概率和先验概率。贝叶斯是通过先验概率知识和统计现有数据,使用概率的方法对某一事件未来可能发生的概率进行估计。
贝叶斯决策规则:(基于最小错误率):
4 实验内容
4.1 数据集
Dateset1.txt:
328个同学的身高、体重、性别数据(78名女生、250名男生)
Dateset2.txt:
124个同学的数据(40名女、84名男)
Dateset3.txt:
90个同学的数据(16名女,74名男)
4.2 问题描述
以dataset1为训练数据库,假设身高与体重满足高斯分布,进行高斯分布的参数估计,并进行基于最小错误率的贝叶斯分类,分别考虑男女的先验概率,0.5-0.5;0.6-0.4;0.7-0.3,0.8-0.2,并以dataset2和dataset3为测试数据库分析分类性能,并探讨先验概率对分类性能的影响。
4.3 需要解决的问题
4.4 实验步骤
(1)导入数据;
(2)从训练集分别获取不同类别下的期望、方差、标准差、类别的先验概率以及变量间相关系数;
(3)根据指定参数(期望、方差、标准差、多元向量间的相关性)生成二元高斯函数;
(4)计算贝叶斯概率函数;
(5)基于最小错误率的贝叶斯判别分类;
(6)计算分类的正确率
算法流程图:
5 实验结果
当先验概率由某一种类别的数量除以总样本时:
当先验概率分别为0.5,0.5时:
当先验概率分别为0.4,0.6时:
当先验概率分别为0.3,0.7时:
当先验概率分别为0.2,0.8时:
6 实验小结
从上面的实验结果可以看出不同的先验概率对实验结果有影响。通过这次实验,我对有关多元高斯分布的概率密度函数有了进一步了解,以及在编程过程中要有结构化思想,可以提高代码的可阅读性,也便于理清思路。我所采用的数据是符合高斯分布的,所以就用了高斯分布的概率密度函数来估计类条件概率,但是在数据不符合高斯分布时,如何计算类条件概率密度要进一步思考。
代码资源
主页资源中下载