python对wine数据集分类_用python对iris数据集进行简单的bayes分类

用python对iris数据集进行简单的bayes分类

发布时间:2018-03-15 18:09,

浏览次数:745

, 标签:

python

iris

bayes

GitHub地址:https://github.com/kevinten10/Data-Processing

(代码在最下面)

正在学习人工智能课程,作业要求自己写一个贝叶斯分类器,分享一下,一起学习

题目描述:

对于Iris数据库,假设样本数据服从多变量正态分布。用Python实现以下内容:

1)用最大似然估计方法估计先验概率密度。

2)建立最小错误率Bayes分类器。

3)检验分类器性能。

实验内容及数学原理:

(1)最大似然估计方法估计先验概率:

设样本类型为Y,样本有Ck种类别,k=1,2,3

极大似然估计先验概率为:

P(Y=Ck)=∑(i=1,2,…N)I(yi=ck)/N,k=1,2,3

∵指示函数I(yi=ck)=1(当yi=ck成立)或0(当yi=ck不成立)

∴先验概率P(Y=Ck)= 样本中Ck的数目/样本总数,k=1,2,3

∴P(Y='Iris-setosa')=∑I(Y=C1)/N总

P(Y='Iris-versicolor')=∑I(Y=C2)/N总

P(Y='Iris-virginica')=∑I(Y=C3)/N总

(2)建立最小错误率Bayes分类器

已知输入变量X={x1,x2,x3,x4}服从四维正态分布 N4(μ,∑),μ为样本均值,∑为样本协方差矩阵

四维正态分布概率密度函数如下:

f(X|μ,∑)=[1/gen(2π)^d * gen(|∑|)]exp[-1/2 * (X-μ)∑^-1(X-μ)T]

已知先验概率P(Y=Ck)= 1/3 k=1,2,3

求后验概率为P(Y=Ck|X)= P(X|Y=Ck)P(Y=Ck)/∑P(X|Y=Ck)P(Y=Ck)

∴需要根据样本数据估计μ,∑

∑=[cov(x1,x1),…,…,…]    u1=`x1   μ=(μ1,μ2,μ3,μ4)T

[…,cov(x2,x2),…,…]    u2=`x2

[…,…,cov(x3,x3),…]    u3=`x3

[…,…,…,cov(x4,x4)]    u4=`x4

得到条件概率密度P(X|Y=Ck),k=1,2,3

从而得到后验概率P(Y=Ck|X),k=1,2,3

又因为在三个类别中先验概率密度P(Y=Ck)相等,分母∑P(X|Y=Ck)P(Y=Ck)相等

故只需判断条件概率密度P(X|Y=Ck)

∴通过判别一个输入X的 MAX=max{P(X|Y=C1), P(X|Y=C2), P(X|Y=C3)}

若 MAX=P(X|Y=C1),则X为C1类

若 MAX=P(X|Y=C2),则X为C2类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值