资源简介
一个简单的贝叶斯高斯分类的作业,用matlab编写,入门用
代码片段和文件信息
%读入训练集
clear all;
close all;
clc
D=load(‘data2.txt‘);
%计算初始EM的初始参数值
% G 为类别数
% class(1,G) 为类别集 class(1i)第i类的类标
% D 训练集 D为m*n,
class=[012];
G=3;
a=zeros(1G);
% GG 为3维类别矩阵
[m n]=size(D);
data=D(:1:n-1);
%GG1=[];
%GG2=[];
%GG3=[];
GG=zeros(mn-1G);
k=zeros(1G);
for i=1:m
for j=1:G
if D(in)==class(1j)
k(1j)=k(1j)+1; %数据类别归类
GG(k(1j):j)=data(i:);
break;
%k(1j)=k(1j)+1;
end
end
end
%====================先验概率p(ci)
%初始化ai
mi=zeros(1G);
for i=1:G
% [mmnn]=size(GG(::i));
% mi(1i)=mm-1;
% a(1i)= mi(1i)/m;
mi(1i)=k(1i);
a(1i)= mi(1i)/m;
end
%===================求均值
%初始化Ui
U=zeros(Gn-1);
for i=1:G
for j=1:mi(1i)
U(i:)=U(i:)+GG(j:i);
end
U(i:)=U(i:)/mi(1i);
end
%==或者
% uu1=mean(GG(1:k(11):1)); y=GG(1:k(11):1); 是一个42*40 的矩阵,
% k(11)表示的是第一类的行数 % 均值是1*40的矩阵 1:k(11)
% uu2=mean(GG(1:k(12):2));
% uu3=mean(GG(1:k(13):3));
% uu=[uu1;uu2;uu3];
%==========================初始化协方差 Cg (矩阵)
C=zeros(n-1n-1G);
for i=1:G
for j=1:mi(1i)
C(::i)=C(::i)+(GG(j:i)- U(i:))‘*(GG(j:i)- U(i:)); % 行*列数 为属性个数40*40
end
C(::i)=C(::i)/mi(1i);
end
%参数已确定,进行类别判断
%读入测试集
test=load(‘testdata.txt‘);
testdata=test(:1:n-1);
[mtestntest]=size(testdata);
class_p=zeros(Gmtest);
for i=1:G
for j=1:mtest
for kk=1:G
class_p(ij)=class_p(ij)+a(1kk)*GaoSi_probability(U(kk:)‘C(::kk)testdata(j:)‘); %分母: 对i有3个类别值进行求和p(ci)p(testdata(j:)‘|ci)
end
class_p(ij)=a(1i)*GaoSi_probability(U(i:)‘C(::i)testdata(j:)‘)/class_p(ij); % p(ci|testdata(j:)‘)
end
end
forecast_class=zeros(mtest1);
for i=1:mtest
guodu=find(class_p(:i)==max(class_p(:i))); %找到p(ci|testdata(j:)‘)中的最大一个的位置
forecast_class(i1)=class(guodu(11)); %class=[0 1 2];
end
resultdata=[testdata forecast_class(:1)];
%计算准确率
correct_probability=0;
for i=1:mtest
if test(in)==forecast_class(i1)
correct_probability=correct_probability+1;
end
end
correct_probability=correct_probability/mtest
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2480 2011-12-05 11:18 bayes\byes.m
文件 99838 2011-07-25 16:30 bayes\data.txt
文件 45998 2011-07-25 16:30 bayes\data1.txt
文件 28078 2011-07-25 16:30 bayes\data2.txt
文件 416 2011-12-05 11:47 bayes\GaoSi_probability.m
文件 138375 2011-07-25 16:30 bayes\testdata.txt
文件 131535 2011-07-25 16:30 bayes\undata.txt
目录 0 2011-12-23 11:07 bayes
----------- --------- ---------- ----- ----
446720 8
相关资源
- 模式识别大作业MATLAB版)
- MATLAB应用BP神经网络对英文字母的识别
- matlab模式识别感知器实现线性可分、
- ISOMAP 源码matlab编写
- ISODATA的matlab代码
- 水果智能分类系统模式识别
- 模式识别或数字识别
- 光学字符识别系统matlab版
- 支持向量机用于肌电信号模式识别的
- matlab实现字母识别
- 超全的模式识别Matlab源程序,涉及几
- 神经网络用于模式识别及MATLAB源代码
- 模式识别第四版matlab代码
- matlab实现模式识别的聚类分类算法
- 图像分类模式识别算法源代码
- 正态分布模式下的贝叶斯分类
- matlab 手写数字/字母模式识别
- 超全的模式识别Matlab源程序
- 差分进化自适应的参数优化、模式识
- 四种支持向量机用于函数拟合与模式
- 基于matlab的Iris、乳腺癌数据集的模式
- 以身高与体重为特征进行C-均值聚类
- mo_2_3.m3. 图像分割matlab实现源代码
- 模式识别-ID3决策树matlab代码
- 基于MATLAB的车牌识别系统设计
- 模式识别matlab:最小错误率、最小风
- 模式识别之线性分类器的matlab实现
- 模式识别K-均值聚类法matlab实现程序
- 模式识别的几个经典分类器,附matl
- MATLAB实现K近邻法分类
评论
共有 条评论