iris数据集下的朴素贝叶斯_第1页
iris数据集下的朴素贝叶斯_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 3/3iris数据集下的朴素贝叶斯 数据挖掘 (计科一班杨平1025115034) 题目:iris 数据集下的朴素贝叶斯实现 一问题描述: Iris 数据集是在分类和模式识别研究中常用的基准数据。它是根据花瓣和萼片的长度和宽度来对Iris 进行分类。Iris 数据集包含3类4维样本,分别标为1, 2, 3。其中, 每类样本数目为50, 且服从正态分布,每个数据样本有4个特征向量,分别代表萼片长度, 萼片宽度, 花瓣长度和花瓣宽度。 分类是利用预定的已分类数据集构造出一个分类函数或分类模型(也称作分类器),并利用该模型把未分类数据映射到某一给定类别中的过程。 原理描述: 贝叶斯公式1(|)()

2、(|)max () m i i i j P X P P X P X =的实质是通过观察样本将状态的先验概率转化为状态的后验概率,给定一个未知类别的数据样本X ,贝叶斯分类法将预测X 属于具有最高后验概率的类。本问题可以数学描述为多元正态概率型下的最小错误率贝叶斯分类。 1)先验概率 设数据库表有d 个属性,因此,可以用一个d 维列向量12,.,T d x x x x =来表示。同时,假定有c 个类12,.c 。如果类的先验概率未知,则可以假定这些类是等概率的,即 12()().()c P P P =,且()i i S P S = 其中,i S 是类i 中的训练样本数,而S 是训练样本总数。 2

3、)参数估计 对于多变量正态分布,估计其均值和方差: 11?N k k x N = 11?()()N T k k k N x x =- 其中,k x 为多元正态分布总体中第K 个抽样,是d 维向量,? 是均值向量的最大似然估计,是协方差矩阵的最大似然估计。 二利用python 调用matlab 函数,实现联合开发 .m 文件见于附录 下面是python 调用matlab 方法实现 from win32com.client import Dispatch h = Dispatch(Matlab.application)#启动MATLAB 自动化服务器 h.execute(Iris_import.m

4、) 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); e

5、nd 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=si

6、gma2+(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)=-

7、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个样本属于第2类n,i); otherwise R(i,3) fprintf(fid,第%-2d个样本属于第3类n,i); end end fclose(f

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论