iris数据集的贝叶斯分类文档格式.doc
- 文档编号:14174965
- 上传时间:2022-10-19
- 格式:DOC
- 页数:9
- 大小:154.50KB
iris数据集的贝叶斯分类文档格式.doc
《iris数据集的贝叶斯分类文档格式.doc》由会员分享,可在线阅读,更多相关《iris数据集的贝叶斯分类文档格式.doc(9页珍藏版)》请在冰豆网上搜索。
c)
d)
3)IRIS数据分类实验的设计
IRIS数据集:
一共具有三组数据,每一组都是一个单独的类别,每组有50个数据,每个数据都是一个四维向量。
其分类空间为:
实验目的:
利用Bayes判别准则对三组数据进行分类,希望能够尽量准确的判断出从IRIS数据集中选取的样本所属的类别。
实验设计思路:
将每个数据看作是一个具有4维特征的观察样本
假设每类数据的每维都的分别服从正态分布即
并且两两独立。
由数理统计理论可知,样本均值和修正方差分别为和的无偏估计量,故可近似为求得和为:
贝叶斯决策规则选取:
由于不同维度数据两两独立,故其中:
另让门限值:
其中:
和为所选待分类样本j类数据和i类的个数,属于先验知识。
比较与门限值的大小判断样本所属类别
最后计算分类的正确率
二、实验过程
1)求取每类数据的每个分量的均值和修正方差数代码如下:
sum=zeros(3,4);
sd=zeros(3,4);
forj=1:
1:
4
fori=1:
50
$$fori=1:
20$$
sum(1,j)=sum(1,j)+sample1(i,j);
sum(2,j)=sum(2,j)+sample2(i,j);
sum(3,j)=sum(3,j)+sample3(i,j);
end
sum=sum/50;
$$sum=sum/20;
$$
sd(1,j)=sd(1,j)+(sample1(i,j)-sum(1,j))^2;
sd(2,j)=sd(2,j)+(sample2(i,j)-sum(2,j))^2;
sd(3,j)=sd(3,j)+(sample3(i,j)-sum(3,j))^2;
sd=sd/49;
$$sd=sd/19;
$$
其中每类数据都有4组均值和修正方差,3类数据总共12组,分别存放在sum和sd这两个3×
4的矩阵中。
2)用一个函数来实现分类器的功能,代码如下
function[clfresult,accuracyrate]=bayesclassifier(samples,dimen,sum,sd,mode1,mode2)
clfresult=zeros(dimen,2);
if((mode1(1,1)~=0)&
&
(mode1(1,2)~=0)&
(mode1(1,3)==0))
compare=[1,2];
(mode1(1,2)==0)&
(mode1(1,3)~=0))
compare=[1,3];
if((mode1(1,1)==0)&
compare=[2,3];
compare1=compare(1,1);
compare2=compare(1,2);
class=zeros(1,3);
la=zeros(1,4);
lb=zeros(1,4);
dimen
ifsamples(i,5)==1
class(1,1)=class(1,1)+1;
ifsamples(i,5)==2
class(1,2)=class(1,2)+1;
ifsamples(i,5)==3
class(1,3)=class(1,3)+1;
n=class(1,compare2)/class(1,compare1)
la(1,1)=1/sqrt(sd(compare1,1))*exp(-(samples(i,1)-sum(compare1,1))^2/(2*sd(compare1,1)));
la(1,2)=1/sqrt(sd(compare1,2))*exp(-(samples(i,2)-sum(compare1,2))^2/(2*sd(compare1,2)));
la(1,3)=1/sqrt(sd(compare1,3))*exp(-(samples(i,3)-sum(compare1,3))^2/(2*sd(compare1,3)));
la(1,4)=1/sqrt(sd(compare1,4))*exp(-(samples(i,4)-sum(compare1,4))^2/(2*sd(compare1,4)));
lb(1,1)=1/sqrt(sd(compare2,1))*exp(-(samples(i,1)-sum(compare2,1))^2/(2*sd(compare2,1)));
lb(1,2)=1/sqrt(sd(compare2,2))*exp(-(samples(i,2)-sum(compare2,2))^2/(2*sd(compare2,2)));
lb(1,3)=1/sqrt(sd(compare2,3))*exp(-(samples(i,3)-sum(compare2,3))^2/(2*sd(compare2,3)));
lb(1,4)=1/sqrt(sd(compare2,4))*exp(-(samples(i,4)-sum(compare2,4))^2/(2*sd(compare2,4)));
if(mode2(1,j)==0)
la(1,j)=1;
lb(1,j)=1;
end
lx=la(1,1)*la(1,2)*la(1,3)*la(1,4)/(lb(1,1)*lb(1,2)*lb(1,3)*lb(1,4))
clfresult(i,1)=i;
iflx>
=n
clfresult(i,2)=compare1;
else
clfresult(i,2)=compare2;
accuracyrate=0;
ifclfresult(i,2)~=samples(i,5)
accuracyrate=accuracyrate+1;
accuracyrate=accuracyrate/dimen;
该函数有共有两个输出量,六个输入参数。
其中各个参数的规定如下:
Samples:
一个Dimen×
5的矩阵,Dimen是选取样本的数量,矩阵前4列存放样本的4维数据,最后一列存放相应行样本真实的类别数(1,2,3)。
Dimen:
选取样本的数量。
Sum:
数据集的均值参数阵。
Sd:
数据集的修正方差参数阵。
Mode1:
模式选择参数1,它是一个3维的行向量:
其中分别对应数据集的三个类别,当不为零时,就在决策域中添加第i类。
总共有三种模式:
在第一类和第二类中进行判别
在第一类和第三类中进行判别
在第二类和第二类中进行判别
Mode2:
模式选择参数2,它是一个4维德行向量:
其中分别对应数据集的4个维度分量,当不为零时,第i个维度的分量就作为判别分类的依据进行考虑,为零时,则第i个维度的分量忽略。
Mode2共有多种模式15种模式。
例如:
表示第二维的数据特征不参与分类。
对于两个输出参数:
Clfresult:
是一个3×
Dimen的矩阵,输出对每个数据的分类结果,并显示其真实所属类别和在Samples中的序号。
Accuracyrate:
输出Bayes分类的正确率。
3)选定不同的样本组合与特征的组合,调用bayesclassifier函数进行分类。
三、实验结果与分析
1)实验结果:
利用每类50个数据求出相应的均值和修正方差作为正态分布参数。
并将每类中所有的50个数据全部拿来分类,dimen=100结果为(分类的正确率):
Mode1
Mode2
一类(50)
二类(50)
三类(50)
(1,0,0,0)
0.89
0.95
0.70
(0,1,0,0)
0.83
0.75
0.58
(0,0,1,0)
1
0.93
(0,0,0,1)
0.94
(1,1,0,0)
0.99
0.68
(1,0,1,0)
0.87
(1,0,0,1)
(0,1,1,0)
0.88
(0,1,0,1)
0.92
(0,0,1,1)
(1,1,1,0)
0.82
(1,1,0,1)
(1,0,1,1)
(0,1,1,1)
(1,1,1,1)
利用每类的20个数据求出相应的均值和修正方差作为正态分布参数。
并将每类中另外的30个数据拿来分类,dimen=60结果为(分类的正确率):
一类(30)
二类(30)
三类(30)
0.9167
0.9833
0.7167
0.8667
0.60
0.9333
0.9000
0.8167
0.9500
分别在第二类中取20个,10个和5个数据,在第三类中固定取30个数据,放在一起进行分类,结果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- iris 数据 贝叶斯 分类