RainForest——雨林算法框架大数据集决策树快速生成框架.pptVIP

RainForest——雨林算法框架大数据集决策树快速生成框架.ppt

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

RainForest ——雨林算法框架 大数据集决策树快速生成框架 报告人:李岱 2003.4.5 决策树简介 略 Sprint算法的缺点 为每个node都保存属性表,这个表的大小有可能是数据库中原始数据大小的好几倍。 维护每个node属性表的hash表的开销很大(该表的大小与该node所具有的纪录成正比)。 雨林算法框架综述 过去的研究提出了多种决策树算法,但是到目前为止并没有一种算法在任何数据集合下生成决策树的质量方面超过所有其他的算法 雨林算法框架关注于提高决策树算法的伸缩性,该框架可运用于大多数决策树算法(例如Sprint和SLIQ) ,使算法获得的结果与将全部的数据放置于内存所得到的结果一致,但是在运行时可以使用较少的内存。而在内存一定的情况下,也可以更好的满足算法的需求。 生成的决策树的质量取决于具体的决策树算法,于本框架无关。 雨林算法框架 数据结构: AVC-set:节点n包含的所有纪录在某个属性上的投影,其中该AVC-set包括了属性的不同值在每个类别上的计数。 AVC-group:一个节点n上所有的AVC -set的集合 AVC-set的所占内存的大小正比于对应属性的不同值个数,AVC-group并不是数据库信息的简单的压缩,它只是提供了建立决策树需要的信息, AVC-group所占用的内存空间远远小于数据库所实际占用的空间。 雨林算法框架 设计方案: AVC_set { //存储属性的各个值 DistinctValue[] //存储属性各个值在某个类上对应的计数 DistinctValueCountForClassA[] DistinctValueCountForClassB[] … … } AVC_group { //节点n中的每个属性的avc_set AVC_set[] } 自顶向下决策树算法 BuildTree(Node m,datapatition D,algorithm decisionTree) 对D使用决策树算法decisionTree得到分裂指标crit(n) 令k为节点n的子节点个数 if(k0) 建立n的k个子节点c1,…,ck 使用最佳分割将D分裂为D1,…,Dk for(i=1;i=k;i++) BuildTree(ci,Di) endfor endif RainForest 算法框架重新定义的部分: 1a) for 每一个属性的谓词p,寻找最佳的分割 1b) decisionTree.find_best_partitioning(AVC-set of p) 1c) endfor 2a) k= decisionTree.decide_splitting_criterion();//决定最终的分割 算法分析 对于(1a)-(1c)所需要的内存为该谓词p所有的avc-set中间占有的最大内存。 在(2a)中,使用的输入是由(1a)-(1c)所计算出来的结果,这里所占用的内存时很小的 针对上述情况,我们假定现实运行的情况下,一个节点的整个avc-group都可以放在内存中,或者至少一个节点的每一个独立的谓词的avc-set可以放在内存中。 雨林算法的常规过程 建立节点的AVC-group (通过读取整个原始数据库或者某个分支的数据库表或文件) 选择分裂属性和分裂标准:取决于使用雨林算法框架的具体算法,通过逐一检查AVC-set来选择。 将数据分解到各个子节点:必须读取整个数据集(数据库或文件),将各条数据分解到各个子节点中,此时如果有足够的内存,我们将建立一个或多个子节点的AVC-group 算法综述 算法RF-Write,RF-Read,RF-Hybrid适用于整个根节点的AVC-group都可以放置到内存中的情况,RF-Vertical用于根节点(即一个节点)的AVC-group不能够存放到内存中的情况。 本文假定任何一个属性的AVC-set都可以 放在内存中。 算法RF-Write 检索数据库,建立根节点的AVC-group 调用某个决策树算法以AVC-group为参数选择分裂标准,建立根节点的k个子节点 检索数据库(或文件),将每一条纪录t分配到各个分支当中(纪录于数据库或文件) 将该算法递归的应用于每一个分支 注:对于决策树的每一层,算法读取数据库两次,并写数据库一次。 算法RF-Read 检索数据库,建立根节点的AVC-group 调用决策树算法以AVC-group为参数选择分裂标准,建立根节点的k个子

文档评论(0)

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

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

1亿VIP精品文档

相关文档