iris数据集下的朴素贝叶斯.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据挖掘 (计科一班——杨平——1025115034) 题目:iris数据集下的朴素贝叶斯实现 一.问题描述: Iris数据集是在分类和模式识别研究中常用的基准数据。它是根据花瓣和萼片的长度和宽度来对Iris进行分类。Iris数据集包含3类4维样本,分别标为1, 2, 3。其中, 每类样本数目为50, 且服从正态分布,每个数据样本有4个特征向量,分别代表萼片长度, 萼片宽度, 花瓣长度和花瓣宽度。 分类是利用预定的已分类数据集构造出一个分类函数或分类模型(也称作分类器),并利用该模型把未分类数据映射到某一给定类别中的过程。 原理描述: 贝叶斯公式的实质是通过观察样本将状态的先验概率转化为状态的后验概率,给定一个未知类别的数据样本,贝叶斯分类法将预测属于具有最高后验概率的类。本问题可以数学描述为多元正态概率型下的最小错误率贝叶斯分类。 1)先验概率 设数据库表有个属性,因此,可以用一个维列向量来表示。同时,假定有个类。如果类的先验概率未知,则可以假定这些类是等概率的,即 ,且 其中,是类中的训练样本数,而是训练样本总数。 2)参数估计 对于多变量正态分布,估计其均值和方差: 其中,为多元正态分布总体中第K个抽样,是维向量,是均值向量的最大似然估计,是协方差矩阵的最大似然估计。 利用python调用matlab函数,实现联合开发 .m文件见于附录 下面是python调用matlab方法实现 from win32com.client import Dispatch h = Dispatch(Matlab.application)#启动MATLAB自动化服务器 h.execute(Iris_import.m) h.execute(compare3.m) 三.附录 (1). “compare3.m”文件 function max=compare3(a,b,c) max=a; if maxb max=b; end if maxc max=c; End (2).“Iris_import.m”文件 clc; clear all; d=4;c=3;N=50; D=load(Iris_data.txt); data=zeros(150,d); G1=zeros(50,d); G2=zeros(50,d); G3=zeros(50,d); for i=1:1:4 data(:,i)=D(:,i+1); end for i=1:1:N G1(i,:)=data(i,:); G2(i,:)=data(i+N,:); G3(i,:)=data(i+2*N,:); end disp(G1); disp(G2); disp(G3); %计算各组的均值向量和协方差矩阵 miu1=mean(G1,1) miu2=mean(G2,1) miu3=mean(G3,1) sigma1=zeros(d,d); sigma2=zeros(d,d); sigma3=zeros(d,d); for i=1:1:N sigma1=sigma1+(G1(i,:)-miu1)*(G1(i,:)-miu1); sigma2=sigma2+(G2(i,:)-miu2)*(G2(i,:)-miu2); sigma3=sigma3+(G3(i,:)-miu3)*(G3(i,:)-miu3); end sigma1=sigma1/N sigma2=sigma2/N sigma3=sigma3/N %代入判别函数,实现分类 R=zeros(150,3); fid=fopen(classifier_result.txt,wt); for i=1:1:150 R(i,1)=-1/2*(data(i,:)-miu1)*inv(sigma1)*((data(i,:)-miu1))-1/2*log(det(sigma1)); R(i,2)=-1/2*(data(i,:)-miu2)*inv(sigma2)*((data(i,:)-miu2))-1/2*log(det(sigma2)); R(i,3)=-1/2*(data(i,:)-miu3)*inv(sigma3)*((data(i,:)-miu3))-1/2*log(det(sigma3)); switch (compare3(R(i,1),R(i,2),R(i,3))) case R(i,1) fprintf(fid,第%-2d个样本属于第1类\n,i); case R(i,2) fprintf(fid,第%-2d个样

文档评论(0)

gangshou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档