用身高和体重数据进行性别分类的实验报告Word文档格式.docx

上传人:b****3 文档编号:13825525 上传时间:2022-10-13 格式:DOCX 页数:21 大小:178.87KB
下载 相关 举报
用身高和体重数据进行性别分类的实验报告Word文档格式.docx_第1页
第1页 / 共21页
用身高和体重数据进行性别分类的实验报告Word文档格式.docx_第2页
第2页 / 共21页
用身高和体重数据进行性别分类的实验报告Word文档格式.docx_第3页
第3页 / 共21页
用身高和体重数据进行性别分类的实验报告Word文档格式.docx_第4页
第4页 / 共21页
用身高和体重数据进行性别分类的实验报告Word文档格式.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

用身高和体重数据进行性别分类的实验报告Word文档格式.docx

《用身高和体重数据进行性别分类的实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《用身高和体重数据进行性别分类的实验报告Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。

用身高和体重数据进行性别分类的实验报告Word文档格式.docx

根据贝叶斯决策规则

如果

,否则,

流程图如下:

2、要求是同时采用身高和体重数据作为特征,用Fisher线性判别方法求分类器,将该分类器应用到训练和测试样本,考察训练和测试错误情况。

说明,取男生和女生的先验概率分别为0.5,0.5。

在设计贝叶斯分类器时,首先求各类样本均值向量,及

,然后求各个样本的来内离散度矩阵,及

,再求出样本的总类内离散度,及

,根据公式

求出把二维X空间投影到一维Y空间的最好的投影方向。

再求出一维Y空间中各类样本均值

,其中

本次实验的分界阈值我们用如下方法得到:

最后,将测试样本中的值代入,求出y,并将其与y0来进行比较来分类。

根据课本对Fisher线性判别法的介绍,得到的算法流程图如下:

这里我们选择Fisher线性判别法,用留一法来估计它在训练集上的错误率,并将结果与Fisher线性判别法对测试集进行判别时得到的错误率进行比较。

具体流程图如下:

四、实验结果及分析总结

1、得到结果如下表

以身高作为特征

h=4

估计方法

女生先验概率

男生先验概率

男生错误个数

女生错误个数

总错误

男生错误率

女生错误率

总错误率

Parzen窗法

0.25

0.75

22

8

30

16%

8.8%

10%

0.5

34

4

38

13.6%

8%

12.67%

80

2

82

32%

4%

27.33%

最大似然Bayes

 

20

6.667%

27

9%

60

20%

以身高与体重作为特征

h=7

7

29

14%

9.67%

40

15.2%

13.33%

46

48

18.4%

6

14

3.2%

12%

4.67%

3

32

11.6%

6%

10.67%

0.2

59

1

23.6%

2%

分析:

通过比较可知,在用最大似然估计这种参数估计方法和Parzen这种非参数估计方法来进行分类时,最大似然估计判别的错误率低。

2、得到结果如下

(1)、用Fisher线性判别方法求分类器,将分类器应用到训练和测试样本上,比较其错误率

判别

对象

测试样本

10.8%

训练样本

12

用训练样本得到的分类器测试测试样本时错误率低,测试结果较好,但测试训练样本时,其错误率较高,测试结果不好。

(2)、将训练样本和求得的决策边界画到图上

先验概略为0.5,0.5

从图中我们可以直观的比较出对训练样本Fisher判别比最大似然Bayes判别效果更好。

3、留一法测试结果如下:

错误率

81

28%

用留一法在训练样本机上估计错误率时,错误率小于它在测试样本集上得到的错误率,且留一法在测试样本集上女生错误个数远低于男生错误个数。

五、体会

这次实验,我们组用了接近三天的时间,首先,我们对题目要求进行认真分析,在确保对题目完全理解的基础上,开始一步一步分析,求解。

对每个小题,及其每一问,我们都经过查书,查资料,编代码这几个步骤,仔细分析每一步算法,得出流程图。

经过第一次作业的编程,本次编程我们都觉得轻松了很多,但还会出现一些细节上的错误,不过,这些在我们经过不断的调试之后都会被发现并解决。

总体而言,本次试验,让我们对Parzen窗法求类条件概率密度,以及Fisher线性判别法都有了更大的了解。

代码:

%特征是身高,先验概率为0.5、0.5时用Parzen窗法,贝叶斯分类器。

clc;

clearall;

[FHFW]=textread('

C:

\Users\xuyd\Desktop\homework\FEMALE.txt'

'

%f%f'

);

[MHMW]=textread('

\Users\xuyd\Desktop\homework\MALE.txt'

FA=[FHFW];

MA=[MHMW];

N1=max(size(FA));

h1=4;

hn1=h1/(sqrt(N1));

VN1=h1/(sqrt(N1));

N2=max(size(MA));

h2=4;

hn2=h2/(sqrt(N2));

VN2=h2/(sqrt(N2));

[tHtW]=textread('

\Users\xuyd\Desktop\homework\test2.txt'

%f%f%*s'

X=[tHtW];

[MN]=size(X);

s=zeros(M,1);

A=[X(:

1)X(:

2)s];

error=0;

errorgirl=0;

errorboy=0;

errorrate=0;

errorgirlrate=0;

errorboyrate=0;

girl=0;

boy=0;

bad=0;

fork=1:

%测试集

x=A(k);

p=0.5;

%p为属于女生的先验概率,则1-p为男生的先验概率

fori=1:

N1

pp(i)=1/sqrt(2*pi)*exp(-0.5*(abs(x-FA(i)))^2/(hn1^2));

%pp(i)是窗函数

end

p1=sum(1/VN1*pp'

y1=1/N1*p1;

%是女生的条件概率密度函数

forj=1:

N2

qq(j)=1/sqrt(2*pi)*exp(-0.5*(abs(x-MA(j)))^2/(hn2^2));

q1=sum(1/VN2*qq'

y2=1/N2*q1;

%男生的概率密度函数,即其条件概率

g=p*y1-(1-p)*y2;

%g为判别函数

ifg>

ifk<

=50

s(k,1)=0;

%判为女生

girl=girl+1;

else

errorboy=errorboy+1;

elseifg<

errorgirl=errorgirl+1;

else

s(k,1)=1;

%判为男生

boy=boy+1;

s(k,1)=-2;

%不能判别是指等于0时的情况

bad=bad+1;

end 

 

errorgirl

errorboy

bad

girl=errorboy+girl

boy=boy+errorgirl

error=errorgirl+errorboy

errorgirlrate=errorgirl/50

errorboyrate=errorboy/250

errorrate=error/M

%特征是身高与体重,先验概率为0.5、0.5时用Parzen窗法,贝叶斯分类器。

h1=7;

VN1=hn1^2;

h2=7;

VN2=hn2^2;

M

A=[X(k,1)X(k,2)];

x=A;

pp=0;

fa=[FA(i,1)FA(i,2)];

n=1/sqrt(2*pi)*exp(-0.5*abs((x-fa)*(x-fa)'

)/(hn1^2));

pp=pp+n;

p1=1/VN1*pp'

;

qq=0;

ma=[MA(j,1)MA(j,2)];

m=1/sqrt(2*pi)*exp

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1