发布网友 发布时间:2022-05-03 10:03
共1个回答
热心网友 时间:2023-10-20 12:18
%By Shelley from NCUT,April 14th 2011%Email:just_for_h264@163.com%此程序利用贝叶斯分类算法,首先对两类样本进行训练,%进而可在屏幕上任意取点,程序可输出属于第一类,还是第二类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;close all %读入两类训练样本数据load data%求两类训练样本的均值和方差u1=mean(Sample1);u2=mean(Sample2);sigm1=cov(Sample1); sigm2=cov(Sample2);%计算两个样本的密度函数并显示x=-20:0.5:40;y= -20:0.5:20;[X,Y] = meshgrid(x,y);F1 = mvnpdf([X(:),Y(:)],u1,sigm1);F2 = mvnpdf([X(:),Y(:)],u2,sigm2);P1=reshape(F1,size(X));P2=reshape(F2,size(X));figure(2)surf(X,Y,P1)hold onsurf(X,Y,P2)shading interpcolorbartitle('条件概率密度函数曲线');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以下为测试部分%利用ginput随机选取屏幕上的点(可连续取10个点)%程序可根据点的位置自动地显示出属于那个类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pw1=0.4;pw2=0.6; figure(1)plot(Sample1(:,1),Sample1(:,2),'r.')hold onplot(Sample2(:,1),Sample2(:,2),'b.') for i=1:10 [u,v]=ginput(1); plot(u,v,'m*'); P1=pw1*mvnpdf([u,v],u1,sigm1); P2=pw2*mvnpdf([u,v],u2,sigm2); hold all if(P1>P2) disp('it belong to the first class'); else disp('it belong to the second class'); end;end热心网友 时间:2023-10-20 12:18
%By Shelley from NCUT,April 14th 2011%Email:just_for_h264@163.com%此程序利用贝叶斯分类算法,首先对两类样本进行训练,%进而可在屏幕上任意取点,程序可输出属于第一类,还是第二类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;close all %读入两类训练样本数据load data%求两类训练样本的均值和方差u1=mean(Sample1);u2=mean(Sample2);sigm1=cov(Sample1); sigm2=cov(Sample2);%计算两个样本的密度函数并显示x=-20:0.5:40;y= -20:0.5:20;[X,Y] = meshgrid(x,y);F1 = mvnpdf([X(:),Y(:)],u1,sigm1);F2 = mvnpdf([X(:),Y(:)],u2,sigm2);P1=reshape(F1,size(X));P2=reshape(F2,size(X));figure(2)surf(X,Y,P1)hold onsurf(X,Y,P2)shading interpcolorbartitle('条件概率密度函数曲线');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以下为测试部分%利用ginput随机选取屏幕上的点(可连续取10个点)%程序可根据点的位置自动地显示出属于那个类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pw1=0.4;pw2=0.6; figure(1)plot(Sample1(:,1),Sample1(:,2),'r.')hold onplot(Sample2(:,1),Sample2(:,2),'b.') for i=1:10 [u,v]=ginput(1); plot(u,v,'m*'); P1=pw1*mvnpdf([u,v],u1,sigm1); P2=pw2*mvnpdf([u,v],u2,sigm2); hold all if(P1>P2) disp('it belong to the first class'); else disp('it belong to the second class'); end;end热心网友 时间:2023-10-20 12:18
%By Shelley from NCUT,April 14th 2011%Email:just_for_h264@163.com%此程序利用贝叶斯分类算法,首先对两类样本进行训练,%进而可在屏幕上任意取点,程序可输出属于第一类,还是第二类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear;close all %读入两类训练样本数据load data%求两类训练样本的均值和方差u1=mean(Sample1);u2=mean(Sample2);sigm1=cov(Sample1); sigm2=cov(Sample2);%计算两个样本的密度函数并显示x=-20:0.5:40;y= -20:0.5:20;[X,Y] = meshgrid(x,y);F1 = mvnpdf([X(:),Y(:)],u1,sigm1);F2 = mvnpdf([X(:),Y(:)],u2,sigm2);P1=reshape(F1,size(X));P2=reshape(F2,size(X));figure(2)surf(X,Y,P1)hold onsurf(X,Y,P2)shading interpcolorbartitle('条件概率密度函数曲线');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以下为测试部分%利用ginput随机选取屏幕上的点(可连续取10个点)%程序可根据点的位置自动地显示出属于那个类%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%pw1=0.4;pw2=0.6; figure(1)plot(Sample1(:,1),Sample1(:,2),'r.')hold onplot(Sample2(:,1),Sample2(:,2),'b.') for i=1:10 [u,v]=ginput(1); plot(u,v,'m*'); P1=pw1*mvnpdf([u,v],u1,sigm1); P2=pw2*mvnpdf([u,v],u2,sigm2); hold all if(P1>P2) disp('it belong to the first class'); else disp('it belong to the second class'); end;end