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快。

  • 相关阅读:
    November 07th, 2017 Week 45th Tuesday
    November 06th, 2017 Week 45th Monday
    November 05th, 2017 Week 45th Sunday
    November 04th, 2017 Week 44th Saturday
    November 03rd, 2017 Week 44th Friday
    Asp.net core 学习笔记 ( Area and Feature folder structure 文件结构 )
    图片方向 image orientation Exif
    Asp.net core 学习笔记 ( Router 路由 )
    Asp.net core 学习笔记 ( Configuration 配置 )
    qrcode render 二维码扫描读取
  • 原文地址:https://www.cnblogs.com/zjh225901/p/6123022.html
Copyright © 2011-2022 走看看