实验三:分类算法实验_第1页
实验三:分类算法实验_第2页
实验三:分类算法实验_第3页
实验三:分类算法实验_第4页
实验三:分类算法实验_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

HUNAN UNIVERSITY人工智能实验报告主题实验3 :分类算法实验学生名蒙寿伟学生学号201408070120专业级智能科学和技术1401级指导老师袁进日期2017年5月15日1 .实验目的1 .理解朴素贝叶斯算法和决策树算法的基本原理2 .可以使用朴素贝叶斯算法或决策树算法对数据进行分类3 .学习分类器的性能评价方法二、实验的硬件、软件平台硬件:计算机。软件:操作系统: windows 2000应用程序: c、Java、Matlab3 .关于实验的知识贝叶斯定理:P(A )是a的先验概率,被称为“先验”是因为没有考虑b的因素。P(A|B )是发生b之后a的条件概率,通过取来自b的值,也称为a的后验概率。P(B|A )是知道发生a之后的b的条件概率。通过取来自a的值,也称为b的后验概率。P(B )是b的先验概率,也称为标准淮化常数(normalizing constant )。以第一条的数据为例,为vhigh、vhigh、2、2、小、低、unacc等级值: una cc、acc、good、vgood对应P(Bi )。 (I=0,1,2,3 )PS六个属性彼此独立: p(a0|b0)*p(a1|b0)*.p(a5|b0)=P(A|B0 )的双曲馀弦值。 的双曲正切值。 的双曲正切值。 的双曲正切值。 的双曲正切值。 的双曲正切值。分别计算取其中的最大值。 其中,P(A )的值相同,可以不计算。If(P(B|A )最大=测试样本. class values )返回true;else返回假;4 .实验内容和程序实验内容:使用贝叶斯算法或决策树算法进行数据分类操作。数据集:汽车评估数据集(见附录)实验步骤:1 .仔细阅读和理解实验数据集2 .使用诸如c、Java、matlab等众所周知的计算机语言来实现朴素贝叶斯算法或决策树算法3 .利用朴素贝叶斯算法或决策树算法在训练数据上学习分类器,训练数据的大小分别为上位100数据、上位200数据、上位500数据、上位700数据、上位1000数据、上位1350数据4 .利用测试数据对学习的分类器进行性能评价5 .统计分析实验结果并提交实验报告1变量的定义和初始化如果统计计算两个条件概率P(Ai|Bi )、(I=0、1、2、3 ),则在训练数据比较小时,有时Bi为0,在这种情况下,P(Ai|Bi)=nan,因此可以作出判断,P(Ai|Bi )为0或在P(Ai|Bi)1的情况下,设P(Ai|Bi)=0.三计算(在四个中取最大)4实验结果四、思考问题:1 .两种算法在训练数据集和测试数据集上性能是否一致? 哪个好呢?决策树(decision tree )是树结构(二叉树还是非二叉树)。 每个非叶节点表示特征属性上的测试,每个分支表示该特征属性在某个值域中的输出,并且每个叶节点保存类别。 使用决策树决定的过程,从根节点中,测试与应分类的项目对应的特征属性,根据该值选择输出分支直到到达叶节点,将叶节点存储的类别作为决定结果。与贝叶斯算法不同,决策树的结构过程与区域知识无关,使用属性选择度量来选择将元组最佳地分成不同类的属性。 决策树的结构是进行属性选择量度来决定各特征属性间的拓扑。决策树的成功率为61.80372%,贝叶斯成功率为68.7831% (贝叶斯比较好)与贝叶斯算法相比,决策树的优点是结构过程中不需要领域知识和参数设定,因此在实际应用中,决策树更适合启发式知识发现。2、提出提高分类器性能的方法并进行实验验证。5、实验体会通过这次实验,我加深了对朴素贝叶斯的认识,学到了用朴素贝叶斯算法解决具体问题。 朴素贝叶斯分类是非常简单的分类算法,对于给定的分类对象项目,如果求出其出现条件下各个类别出现的概率中哪个最大,就考虑该分类对象项目属于哪个类别。 朴素贝叶斯原理虽然成功率并不太高,但朴素贝叶斯的易用性却在日常生活中得到了广泛的应用。附件(代码)#include#include#include#include#include#includeusing namespace std;int countTrain=0; /培训样本数int countTest=0; /测试样本数int countTestSuc=0; /测试样本的正确数量int countF=100; /培训和测试边界string CVname4=unacc , acc , good , vgoodint ClassValues4; /unacc,acc,good,voguessint buying44; /vhigh,high,med,low。int maint44; /vhigh,high,med,low。int doors44; /2、3、4、5摩尔。int persons44; /2、4、more。int lug_boot44; /small,med,big。int safety44; /low、med、high浮动类别4; /unacc,acc,good,voguess浮动绑定4; /vhigh,high,med,low。浮动邮件4; /vhigh,high,med,low。浮动文件4; /2、3、4、5摩尔。浮动个人4;浮动个人4; /2、4、more。浮动lug _ bootl 4 4; /small,med,big。floatsaftype44; /low、med、high*/统计个数字符串a、字符串b、字符串c、字符串d、字符串e、字符串f、字符串g/cout0finafinbfincfindfinefinffing ) 2222222222222222222countTrain;PS (a,b,c,d,e,f,g )以下fin.close ();cout 训练样本countTrain=1) buyingLij=0;maintl I =(浮动) maint I /等级值 j ; if (maintl I j 0|maintl I j 1) maintl I j =0;door RSL I =(浮动) doors I /等级值 j ; if (或RSL I j 0| |或RSL I j 1)或RSL I j =0;以下以下for(int i=0; i3; i ) /概率P(ai|yi )for(int j=0; j4; 开j )个人 I =(浮动)个人 I /类值 j ; 个人 I j 0| |个人 I j 1)个人 I j =0;lug _ bootl I =(浮动) lug _ boot I /类值 j ; if (lug _ bootl I j 0|lug _ bootl I j 1) lug _ bootl I j =0;saftype I =(浮动) safety I /类值 j ; if (saftype I j 0|saftype I j 1) saftype I j =0;以下以下以下/一行的数据是否正确,是P(Bi|A)=P(A|Bi)P(Bi)/P(A ),这里P(A )相同,比较分子的大小即可bool testline (字符串ai、字符串bi、字符串ci、字符串di、字符串ei、字符串fi、字符串gi )int b、m、d、p、l、s;/buying:PS (PS= v high ) b=0;else if(ai=high) b=1;else if(ai=med) b=2;else if(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论