iris数据集下的朴素贝叶斯(共5页).doc
精选优质文档-倾情为你奉上数据挖掘(计科一班杨平)题目:iris数据集下的朴素贝叶斯实现一问题描述:Iris数据集是在分类和模式识别研究中常用的基准数据。它是根据花瓣和萼片的长度和宽度来对Iris进行分类。Iris数据集包含3类4维样本,分别标为1, 2, 3。其中, 每类样本数目为50, 且服从正态分布,每个数据样本有4个特征向量,分别代表萼片长度, 萼片宽度, 花瓣长度和花瓣宽度。分类是利用预定的已分类数据集构造出一个分类函数或分类模型(也称作分类器),并利用该模型把未分类数据映射到某一给定类别中的过程。 原理描述:贝叶斯公式的实质是通过观察样本将状态的先验概率转化为状态的后验概率,给定一个未知类别的数据样本,贝叶斯分类法将预测属于具有最高后验概率的类。本问题可以数学描述为多元正态概率型下的最小错误率贝叶斯分类。 1)先验概率设数据库表有个属性,因此,可以用一个维列向量来表示。同时,假定有个类。如果类的先验概率未知,则可以假定这些类是等概率的,即,且其中,是类中的训练样本数,而是训练样本总数。2)参数估计对于多变量正态分布,估计其均值和方差:其中,为多元正态分布总体中第K个抽样,是维向量,是均值向量的最大似然估计,是协方差矩阵的最大似然估计。二 利用python调用matlab函数,实现联合开发 .m文件见于附录下面是python调用matlab方法实现from win32com.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;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=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('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).”Iris_data” 四实验结果得到每一类的协方差矩阵如下:最终实现的分类(部分截图)如下: 从实验结果可以看出,贝叶斯分类基本可以实现将Iris数据集正确分类。其中,黑色方框圈出的是错误的分类结果。专心-专注-专业