ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:289.46KB ,
资源ID:19313107      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19313107.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验三分类算法实验Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验三分类算法实验Word文档格式.docx

1、 =P(A|B0)。分别算出 取其中的最大值,其中,P(A)的值相同,可以不算出来。If(P(B|A)最大 = 测试样例.ClassValues) return true;Else return false;4、实验内容及步骤实验内容:利用贝叶斯算法或者决策树算法进行数据分类操作数据集:汽车评估数据集(见附录)实验步骤:1仔细阅读并了解实验数据集;2使用任何一种熟悉的计算机语言(比如C,Java或者matlab)实现朴素贝叶斯算法或者决策树算法;3利用朴素贝叶斯算法或者决策树算法在训练数据上学习分类器,训练数据的大小分别设置为:前100个数据,前200个数据,前500个数据,前700个数据,前

2、1000个数据,前1350个数据;4利用测试数据对学习的分类器进行性能评估;5统计分析实验结果并上交实验报告;定义和初始化变量2统计并计算条件概率P(Ai|Bi),(i=0,1,2,3),当训练数据比较小时会出现Bi等于0的情况,这时P(Ai|Bi)=nan,所以可以加一个判断,当P(Ai|Bi)1时,让P(Ai|Bi)=0.3计算(四个里面取最大)4实验结果四、思考题:1. 两种算法在训练数据集和测试数据集上的性能一致吗?哪个比较好? 决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出

3、,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。 不同于贝叶斯算法,决策树的构造过程不依赖领域知识,它使用属性选择度量来选择将元组最好地划分成不同的类的属性。所谓决策树的构造就是进行属性选择度量确定各个特征属性之间的拓扑结构。决策树的成功率为: 61.80372% ,贝叶斯成功率为:68.7831% (贝叶斯更好一点)相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置,因此在实际应用中,对于探测式的知识发现,决策树更加适用。2. 提出一种提高分类器性

4、能的方法并通过实验验证。5、实验心得通过这次实验加深了我对朴素贝叶斯的认识,学会了用朴素贝叶斯算法解决具体的问题。朴素贝叶斯分类是一种十分简单的分类算法,对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就觉得此待分类项属于哪个类别。朴素贝叶斯的原理决定了其成功率不可能太高,但是朴素贝叶斯的简单易用性使得其在一些日常生活中应用广泛。附件(代码)#includecstdlibcstringvectorfstreamstdio.husing namespace std;int countTrain = 0;/训练样本数目int countTest = 0;/测试样本数目int

5、 countTestSuc = 0;/测试样本正确的数目int countF=100; /训练和测试的分界 string CVname4=unacc,accgoodvgood;int ClassValues4; /unacc, acc, good, vgood int buying44; /vhigh, high, med, low.int maint44; / vhigh, high, med, low. int doors44; /2, 3, 4, 5more. int persons44; /2, 4, more. int lug_boot44; /small, med, big.int

6、 safety44; /low, med, high. float ClassValuesL4;float buyingL44;float maintL44;float doorsL44;float personsL44;float lug_bootL44;float safetyL44;*/统计个数 void Tonji(string a,string b,string c,string d,string e,string f,string g)/couta bcdefgendl;for(int i=0;i0 & fina &b&c &d &e &f &g) countTrain+; Ton

7、ji(a,b,c,d,e,f,g); fin.close(); cout训练样本countTrain=countTrain/统计得到在各类别下各个特征属性的条件概率估计void CalAP() /概率P(yi) for(int i=0;i+) ClassValuesLi = (float) ClassValuesi/countTrain; /特别注意的是P(ai|yi)=ai/0的情况!,会使 P(ai|yi)等于nan;i+) /概率P(ai|yi) for(int j=0;jj+) buyingLij = (float) buyingij/ClassValuesj; if(buyingLi

8、j1) buyingLij=0; maintLij = (float) maintij/ClassValuesj; if(maintLij1) maintLij=0; doorsLij = (float) doorsij/ClassValuesj; if(doorsLij1) doorsLij=0; 3;i+) /概率P(ai|yi) personsLij = (float) personsij/ClassValuesj; if(personsLij1) personsLij=0; lug_bootLij = (float) lug_bootij/ClassValuesj; if(lug_bo

9、otLij1) lug_bootLij=0; safetyLij = (float) safetyij/ClassValuesj; if(safetyLij1) safetyLij=0;/一行数据的准确与否,P(Bi|A)=P(A|Bi)P(Bi)/P(A),其中P(A)相同,只需比较分子的大小即可 bool TestLine(string ai,string bi,string ci,string di,string ei,string fi,string gi) int b, m, d, p, l, s; /buying: if(ai=) b=0; else if(ai=) b=1;) b

10、=2;) b=3; /maint: if(bi=) m=0; else if(bi=) m=1;) m=2;) m=3; /doors: if(ci=) d=0; else if(ci=) d=1;) d=2; else d=3; /persons: if(di=) p=0; else if(di=) p=1; else p=2; /lug_boot: if(ei=) l=0; else if(ei=) l=1;) l=2; /safety: if(fi=) s=0; else if(fi=) s=1;) s=2; float Bi; float MaxB=0; int t=0; /计算四个P

11、(Bi|A)的概率取最大的 for(int i=0; Bi=buyingLbi * maintLmi * doorsLdi * personsLpi * lug_bootLli * safetyLsi * ClassValuesLi; if(MaxB Bi & BicountF) countTest+; t=TestLine(a,b,c,d,e,f,g); if(t) countTestSuc+;void setZero();int main() int a5=100,200,500,700,1350;5; setZero(); countF=ai; ReadFileTrain(); /读取文

12、件并且统计个数 CalAP(); /计算条件概率 ReadFileTest(); /测试样本 cout预测正确countTestSuc=countTestSuc测试样本countTest=countTest准确率为:100.0*(float)countTestSuc/(float)countTest)%endl return 0;void setZero() countTrain = 0; countTest = 0; countTestSuc = 0; for(int j=0; ClassValuesi=0; buyingij=0; maintij=0; doorsij=0; personsij=0; lug_bootij=0; safetyij=0; ClassValuesLi=0; buyingLij=0; maintLij=0; doorsLij=0; personsLij=0; lug_bootLij=0; safetyLij=0;

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

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