zoukankan      html  css  js  c++  java
  • 数据挖掘概念与技术14--Star-Cubing

    1.产生的原因           

      为了集成自顶向下立方体计算类Apriori剪枝和自底向上多维聚集的两个优点而设计。算法在一个称为星树的数据结构上进行操作,对该数据结构进行无损数据压缩,从而降低计算的事件和内存需求量。

    2.共享维剪枝

      如果共享维A的值a1,不满足冰山条件,则以a1CD/a1为根的整颗子树(包括a1CD/a1C,a1D/a1,a1/a1)都可以剪枝,因为他们都是a1的更特殊化的版本。

    3.方体树

      基本方体ABCD的方体树,包括四层,每层表示一个维,每层有n个节点表示每个维所能取的不同值。每个节点有四个字段:属性值,聚集值,指向子女的指针和指向第一个兄妹的指针。

    4.星树构造

      星节点:如果单个维在属性值p上的聚集不满足冰山条件,则该节点p可以用*号代替,称为星节点。

      星树:使用星节点压缩过的方体树称为星树。

    5.星树创建过程

      

        

    6.利用星树的计算过程,即Star-Cubing算法思想

      (1)总体过程

        深度优先遍历星树,通过自底向上聚集,在聚集过程中,利用共享维的概念(相当于自顶向下)剪枝。

      (2)遍历过程

        对上述基本星树按照深度优先遍历(BCD,ACD/A,ABD/AB,ABC/ABC):

        首先最左子树一次遍历a1,b*,c*,d*得到下图结果(BCD,a1CD/a1,a1b*D/a1b*,a1b*c*/a1b*c*):

        

        注途中:destroyed表示在回溯过程中,因为c*,d*没有兄弟节点,所以没有必要保留计算结果,删除。

            另,在实际计算过程中因为a1不满足生成子女数的节点的条件,所以ACD/A后面的三个树不会生成,即不用计算。

            能产生子女树的节点条件为:(1)节点的度量必须满足冰山条件;(2)产生的数必须包含至少一个非星节点。

      第二棵子树遍历结果:

          

      第三棵子树遍历结果:

      

         注:此过程树的变化情况解释:

        对于上次创建并未销毁的,而且本次又重新创建的一样的两棵子树,应将两次结果进行合并,即:将每个节点的聚集值进行相加。例:第1,2次创建的ACD/A树。

        对于上次创建并未销毁,而且本次也创建该树,但两棵树不一样的,应将两棵树合并在同一根下。例:BCD树。

    7.与MultiWay和BUC性能分析

      当计算稠密数据完全立方体时:

        其能与M的性能相媲美,比BUC快的多(划分时开销较大,计算耗时间较大),

      当计算稀疏完全立方体时:

        其比M快的多,大部分情况下比BUC快。

      当计算冰山立方体时:

        比BUC快。

  • 相关阅读:
    算法题汇集
    C# WinForm MDI左右分栏 多文档
    DDoS和CC攻击的区别
    搭建java程序写的博客Jpress
    U盘图标DIY方法
    磁盘空间不够用?教你一键清理电脑重复文件Duplicate File Finder
    给WordPress文章页URL赋予.html后缀
    使用七牛云和PicGo搭建图床
    wordpress好用的Markdown插件WP Editor.MD
    虚拟主机、VPS、云服务器三者的区别
  • 原文地址:https://www.cnblogs.com/zjh225901/p/6123022.html
Copyright © 2011-2022 走看看