决策树分类..docxVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
决策树分类.

实验二 决策树学习引言决策树学习是一种逼近离散值目标函数的方法,在这种方法中学习到的函数被表达为一棵决策树。学习得到的决策树也能再被表达为多个if-then的规则,以提高可读性。这种学习算法是最流行的归纳推理算法之一,已经被成功地应用到从学习医疗诊断到学习评估贷款申请的信用风险的广阔领域。本文用决策树学习算法解决饭店排队问题,学习判断什么情况下在饭店就餐需要等待的规则或函数。问题描述饭店排队问题的目标属性为:WillWait判定属性有10个,依次为:Alternate:附近是否有一个合适的候选饭店。Bar:饭店中是否有舒适的酒吧区域值得排队等待。Fri / Sat:在星期五和星期六为真。Hungry:是否饿了。Patrons:饭店中有多少人(其值可取None、Some和Full)。Price:饭店价格区间(¥, ¥ ¥ , ¥ ¥ ¥ )。Raining:天是否下雨。Reservation:是否预定。Type:饭店类型(French,Italian,Thai,burger)。WaitEstimate:主人对等待的估计(0-10分钟,10-30,30-60,或60)生成学习所需要的训练样例,分析训练样例数目与学习精度的关系以及训练样例的分布与学习精度的关系;对判定属性为连续值或者判定属性缺少部分值进行处理,解决过度拟合问题。模型建立与求解首先将判断属性值离散化,数值化,对于只有两个取值的属性,赋值为0和1,对取值为三个值的属性,赋值为0,1,2,对取值为四个值的属性,赋值为0,1,2,3。利用随机数生成器随机生成各个判定属性的属性值,并人为设定条件,给出每组特征的目标属性值,取样例的一部分作为训练样例,剩余部分作为测试样例,利用决策树算法对测试样例的目标属性值进行预测并将其与人为判定的目标属性值进行比较,得出决策树算法目标属性判定的准确率,这里用的是C4.5决策树算法来进行实验,模型求解是通过matlab实现的。仿真实验与结果分析1.构造训练样例和测试样例对于10个判定属性,用rand()函数随机生成m个属性值,然后根据生成的属性值,人为判定目标属性值,这里人为判定的条件为:for j=1:m if Alter(j)==1 Bar(j)==1 Hun(j)==1 Pat(j)~=2 Will(j)=1; elseif Res(j)==1WaitEs(j)~=3 Will(j)=1; elseif FS(j)==1Hun(j)==1WaitEs(j)~=3 Will(j)=1; else Will(j)=0; endend 这样就构造了m个经过人为判定的一组训练样例,为了更好地检验算法,这里又构造了n个完全随机的训练样例,作为噪声训练样例与之前经过人为判定的m个训练样例一起作为实验的训练样例。用同样的方法构造w个测试样例。2.算法测试1)属性均为离散,m=100,n=10,w=1000-10000这里取100个经过人工判定的训练样例,10个噪声训练样例共110个样例作为训练样例,测试样例w以1000的间隔分别取1000-10000个,其中每个w取10组数据,通过取平均值计算算法准确性,结果如下图: 可以看出:虽然此时测试样例的数目为1000-10000,但算法的准确率都在0.8左右,说明在训练样例一定的情况下,算法的准确率不因测试样例数目而改变。2)属性均为离散,m=10-200,n=0,w=10000这里取10000个经过人工判定的测试样例,训练样例m以10的间隔分别取10-200个,其中每个m取50组数据,通过取平均值计算算法准确性,结果如下图:可以看出:此时算法的准确率随着训练样例数目的增加而提高。 3)属性均为离散,m=1000-20000,n=0,w=10000这里取10000个经过人工判定的测试样例,训练样例m以1000的间隔分别取1000-20000个,其中每个m取50组数据,通过取平均值计算算法准确性,结果如下图:可以看出:此时算法的准确率随着训练样例数目的增加呈现波动,尤其是当训练样例数目大于16000时,准确率出现下降, 这说明当训练样例过多时,可能出现过拟合现象,当然也有可能是因为生成的随机数的问题。4)属性均为离散,m=1000,n=100-2000,w=10000这里取10000个经过人工判定的测试样例, 1000个经过人工判定的训练样例,噪声样例数量以100的间隔分别取100-2000,其中每个n取50组数据,通过取平均值计算算法准确性,结果如下图:可以看出:此时算法的准确率随着噪声数量的增加而出现明显的下降。5)属性WaitEstimate为连续(取0-100的随机数值),m=100-2000,n=0,w=10000这里取10000个经过人工判定的测试样例,训练样例数量以100的间隔分别取100

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档