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

下载本文档

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

文档简介

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

2、个未知类别的数据样本,贝叶斯分类法将预测属于具有最高后验概率的类。本问题可以数学描述为多元正态概率型下的最小错误率贝叶斯分类。 1)先验概率设数据库表有个属性,因此,可以用一个维列向量来表示。同时,假定有个类。如果类的先验概率未知,则可以假定这些类是等概率的,即,且其中,是类中的训练样本数,而是训练样本总数。2)参数估计对于多变量正态分布,估计其均值和方差:其中,为多元正态分布总体中第K个抽样,是维向量,是均值向量的最大似然估计,是协方差矩阵的最大似然估计。2 利用python调用matlab函数,实现联合开发 .m文件见于附录下面是python调用matlab方法实现from win32co

3、m.client import Dispatchh = 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 max<b max=b;endif max<c max=c;End(2).“Iris_import.m”文件clc;clear all;d=4;c=3;N=50;

4、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);endfor i=1:1:N G1(i,:)=data(i,:); G2(i,:)=data(i+N,:); G3(i,:)=data(i+2*N,:);enddisp(G1);disp(G2);disp(G3);%计算各组的均值向量和协方差矩阵miu1=mean(G1,1)miu2=mean(G2,1)miu3=mean(G3,1)sigma1

5、=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); endsigma1=sigma1/Nsigma2=sigma2/Nsigma3=sigma3/N%代入判别函数,实现分类R=zeros(150,3);fid=fopen('

6、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个样本属于第2类n',i); otherwise R(i,3) fprintf(fid,'第%-2d个样本属于第3类n',i); end endfclose(fid); (3).”I

温馨提示

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

评论

0/150

提交评论