还剩5页未读,继续阅读
文本内容:
实验
四、贝叶斯决策分类算法学院计算机科学与软件学院•实验目的
(1)熟悉VC++编程工具和朴素贝叶斯决策算法
(2)对AllElectronics顾客数据库查询得到先验概率和类条件概率
(3)在样本集上用VC++编程工具编写用朴素贝叶斯算法分类的程序,对任务相关数据运行朴素贝叶斯分类算法,调试实验
(4)写出实验报告•实验原理
1、先验概率和类条件概率先验概率先验概率定义为训练样本集中属于j类的样本(元组)数N与尸C)二斗总样本数/V之比,记为N类条件概率类条件概率定义为训练样本集中属于G类中的具有特征X的样本(元组)的个数D与属于G类的样本(元组)数N之比,记为尸(WC)=+A
2、贝叶斯决策贝叶斯决策(分类)法将样本(元组)分到J类,当且仅当其中,训练样本集中的样本(元组)可被分为m类该算法流程图如下•实验内容
1、实验内容用贝叶斯分类器对已知的特征向量X分类1)由AllElectronics顾客数据库类标记的训练样本集(元组)编程计算先验概率P(CJ和类条件概率P(X|C),并在实验报告中指出关键代码的功能和实现方法;2)应用贝叶斯分类法编程对特征向量X分类,并在实验报告中指出关键程序片段的功能和实现方法;3)用检验样本估计分类错误率;
2、实验流程图
3、关键代码
1、定义存储结构class Datepublic:string age;string income;string student;string credit;string buy;void printcout«age««income«n«student««credit««buy«endl;;
2、读取数据并保存char namel
[50];ifstream infile;coukv”输入要打开的文件:*.txt«endl;cin»namel;infile.opennamel,ios::in;ifinfile.failcout«error open!«endl;
3、计算类条件概率通过计算累加和来计算cout«age:«endl;cin»iage;cout«,,income:«endl;cin»iincome;cout«student:«endl;cin»istudent;cout«,,credit:«endl;cin»icredit;forint k=O;kdatesize;k++ifdate[k].age==iagedate[k].buy==yesagey++;ifdate[k].age==iagedate[k].buy==noagen++;ifdate[k].income==iincomedate[k].buy==yesincomey++;ifdate[k].income==iincomedate[k].buy==noincomen++;ifdate[k].student==istudentdate[k].buy==yesstudenty++;ifdate[k].student==istudentdate[k].buy==nostudentn++;ifdate[k].credit==icreditdate[k].buy==yescredity++;ifdate[k].credit==icreditdate[k].buy==nocreditn++;p3=floatagey/floaty;p4=floatagen/floatn;p5=floatincomey/floaty;p6=floatincomen/floatn;p7=floatstudenty/floaty;p8=floatstudentn/floatn;p9=floatcredity/floaty;plO=floatcreditn/floatn;pxl=p3*p5*p7*p9;px2=p4*p6*p8*pl0;px3=pxl*pl;px4=px2*p2;cout«Page=«iage«|buy=yes=,,,«agey«7«y«=«p3«endl;cout«Page=«iage«|buy=no=,«agen«7«n«,,=«p4«endl;cout«Pincome=«iincome«|buy=yes=«incomey«7«y«,,=,,«p5«endl;cout«Pincome=«iincome«|buy=no=«incomen«7«n«=,,«p6«endl;,cout«Pstudent=«istudent«|buy=yes=,,«studenty«7«y«,,=«p7«endl;,cout«Pstudent=«istudent«|buy=no=«studentn«7«n«,,=,,«p8«endl;,cout«Pcredit=«icredit«|buy=yes=,,«credity«7«y«=«p9«endl;,cout«Pctedit=«icredit«|buy=no=,,,«creditn«7,«n«,,=«pl0«endl;cout«PX|buy=yes=«pxl«endl;cout«PX|buy=no=«px2«endl;cout«PX|buy=yesPbuy=yes=«px3«endl;cout«M PX|buy=noPbuy=no=«px4«endl;
4、预测ifpx3px4cout朴素贝叶斯预测buy=yes«endl;else cout”朴素贝叶斯预测buy=no M«endl;systemCPAUSE;return0;
1.实验数据AllElectronics顾客数据库类标记的训练样本集(元组)Rrr age“ICO Ine:student Cl-edit_mitng Class:bu.ys_cornputer1y.outh bighno fairno2youth hi绅no exceUentno3middle agedhi绅no缸r yes4senlOr nrlediumno:fai ryes5senmr lowyes:fair yes6senmr lowyes excelfont11071niddle_;aged lowyes exceUentyes8youth ml的no farno ium9youth lowyes住ir yes10senior nriedium yes fairyes1]youth nlediumyesexcellent•yes1In凶2middle_aged iumno excellentyes1middle_aged highyes.fair excd]yes31,s emormedmm noe ntno
4.•实验结果:用训练样本集中元组进行测试:纣*C:\PrograM FilesMicro soft VisualStudioMyPro jcct s\d4\Dcbug\da
4.cxc*senior mediumno excellentno rbuys_conputcr-yes-9zl4-
0.642852Pbuy3_conputor=no=bzl4-U.357143age:sen lorinconc-medium ctudent-no credit•fair PCagc=sen lot*ibuy=yes=3Z333333Page=sen io*huy=no=2/5=0-4P incorne=median!bii^=yes=4z=A.444444Pincon»c-nediun Ibuv no-2/5-
0.4Pstudont=no!buy=yea=3/9=
3.333333PCctudent=no buy=no=4/5=
0.8Pcreil It=f alp!huy=ye*=6/
95.6666617Pctedit-fair ibuy-no-2/5-
0.4P»Ibuv-yc3-U.0329218PCX b»9=no=U.0S12PCX huy=yesPhuy=yes=
0.C21164PX Ibuy=noPhiiy=no=fi.Ot82R57杜拿贝叶斯二页领jhuy-yes诏按任意犍继续・--用未知数据测试:k*C:\ProffrnM FilesMicros oftVisual SiudioXIyProjccts\da4\Dcbu£\da
4.cxc*senior mediunino excellentno Pbuvs_conputer-/es-9/14-
0.642857IXbuys^onputcr-no-5zl4-b-3S7143age:youth incone-high studentno credit-Hxcellent riyc-j/outhIbuy-yex-2/9-A-222222Pagc-vouthIhusr-no-3/5-
0.6Pincorro=hisF*buy=yes=2/9^.222222Pincone=highbu*/=no=2/5=U.4PCstudent=no ihui^=pes=3/9=
0.333333Pstudent-no buy=no=4/5-R.8rcredit-excellent Ibu;;-yes-3/9-
0.333333FCctcdit-excellent Ibuy-no-3/5-H.G PXbuy=y©3=
0.%Jb48697PXhu^=no=fl.1152PX;buy=yesFhuy=yes〉=
0.00352734P»Ibuv-noPbui/-nu-
0.0411429杜素贝吐斯亍页测buy FO诘接任痣械继薮・・・。