数据挖掘概念与技术12--数据立方体的计算和多路数组聚集详解
1.冰山立方体的相关概念
部分物化的立方体成为冰山立方体,其中部分物化所使用的标准或最小阈值称为最小支持度阈值或简称为最小支持度。
冰山立方体SQL查询语句:
conpute cube sales_ice as
select month,city,customer_group,count(*) from salesinfo
cube by month,city,customer_group having count(*)>=min
其中,cube by表示对给定维所有可能的自己形成聚集,having子句指定约束条件,在这里如果没有having子句,该例则得到完全立方体。
2.入闭覆盖与闭单元
目的:进一步系统的压缩数据立方体;
原理:对于某个立方体,由于在其他维固定的情况下,某一个或多个维上的数值为空,从而导致是否对该维聚集,度量值都不变,为了减少存储空间,不多次存储相同的度量值(进一步减少预计算的立方体数)。其中,对于最底层的立方体称为闭立方体。
闭单元的特点:在闭单元中,用*替换其中对应维上的非*值,度量值不变。如果将它们看为一个家族,则闭单元是该家族中,*值最少的一个。即在该家族中,不存在替换闭单元中的*值,切度量值不变的单元。
3.数据立方体计算的一般策略
1.排序,三列和分组。对维属性进行排序,三列和分组。其中的关键在于,对共享一组相同维值的元祖进行聚集,共享聚集计算。同样共享排序,共享划分在多个立方体之间。
2.同时聚集和共享中间结果.关键在于分治,然后合并中间结果。而不是从基本事实表计算较高层的聚集。
3.当存在多个子女方体时,由最小的子女聚集 。例如我可以通过年份销量或天销量来计算总销量,则选用年份来聚集。
4.可以使用先检验,剪枝方法有效的计算冰山立方体。如果给定单元不满足最小支持度,则它的特殊化更不能满足。特殊化是指将该单元中的*用非*替换。
5.完全立方体的多维数组聚集
计算策略所需注意的问题:
(1)尽量减少块反复调入内存的次数。
(2)尽量利用较少的内存空间完成计算。
因为要减少块调入调出内存的次数就要缓存中间的计算结果,又因为数据立方体有多维数据,所以块的计算顺序,决定聚集的顺序(满足问题1),从而决定计算所需的内存大小。
难点一:内存大小的计算:
一般情况下,一般先从基数小的维开始聚集。在本例中设A=40,B=400,C=4000,则先聚集A,计算2-D面BC.然后是AC,最后是AB.
因为计算刚开始的四个块1,2,3,4就可以得到BC面的第一块,并且之后每连续的四个块一组得到下一个BC面的块,则在计算BC面时只需要缓冲BC面一个块的大小100*1000就可以,之后计算的16次均重复利用此内存块。
因为只有在调入块13的时候才可以计算得AC面的一块,则前面的12块都应该得到缓存,所以在计算AC面的时候,缓存的结果大小为AC面的一行,即40*1000;
因为只有调入第49块的时候才可以计算AB面,则前面计算结果均需保存,所需内存应为AB整个平面的面积,即40*400.
所以在此次计算中所需的内存为:100*1000+40*1000+40*400。
6.多维数组聚集计算冰山立方体的缺点:
因为该计算方法从基本方体开始计算,逐步向上得到更加泛化的方体,所以不能通过先验剪枝的方法进行优化。
7.数组多维聚集相对于ROLAP(基于关系记录的)的优势:
(1)数组结构不需要空间来存放搜索码;
(2)使用数组直接寻址,比其基于关键字的寻址策略快;
(3)不直接使用表进行计算立方体,而是用数组计算立方体,然后再将结果转换成表,更加快速。
转载于:https://www.cnblogs.com/zjh225901/p/6118587.html
数据挖掘概念与技术12--数据立方体的计算和多路数组聚集详解相关推荐
- 【读书笔记-数据挖掘概念与技术】数据立方体技术
基本概念: 基本单元:基本方体的单元 聚集单元:非基本方体的单元 冰山立方体:部分物化的立方体 最小支持度(最小支持度阀值):部分物化的最小阀值(说白了就是限定了一个范围) ∵冰山立方体仍有大量不感兴 ...
- 完全立方体计算的多路数组聚集
3-D立方体包含三个维A,B,C.对于维A,B,C数组大小分别是40,400,4000.每个维分为4个相等的分区,共分为64块,因此,A.B.C每部分的大小分别是10.100.1000. 例如书上计算 ...
- 【数据挖掘概念与技术】学习笔记5-数据立方体技术
基本方体是数据立方体中泛化程度最低的方体.泛化程序最高的方体是顶点方体,通常用all表示.基本方体的单元是基本单元,非基本方体的单元是聚集单元. 聚集单元在一个或多个维上聚集,其中每个聚集维用单元记号 ...
- 数据挖掘 概念与技术(原书第3版)
<数据挖掘:概念与技术(原书第3版)>完整全面地讲述数据挖掘的概念.方法.技术和全新研究进展.本书对前两版做了全面修订,加强和重新组织了全书的技术内容,重点论述了数据预处理.频繁模式挖掘. ...
- 数据挖掘概念与技术课后笔记
数据挖掘概念与技术一 数据爆炸:自动数据收集工具和成熟的数据库技术使大量的数据被收集,储存在数据库.数据仓库或其他信息库中以待分析. 数据挖掘:从大量的数据中挖掘令人感兴趣的.有用的.隐含的.先去未知 ...
- buc算法java实现,数据挖掘概念与技术(hanjiawei)阅读笔记--第五章(数据立方体技术)...
BUC 1.BUC(Botom-Up Construction)概念 从顶点方体向下计算冰山立方体 计算稀疏冰山立方体的算法 基于先验性质进行剪枝 ### 2.算法计算 例A(a1,a2,a3),B( ...
- 全民大数据时代已来 阿里数加平台详解
文章讲的是全民大数据时代已来 阿里数加平台详解,业界流行一种说法,云计算与大数据就是一枚硬币的两面,相生相惜,不可分割.在当下互联网时代,数据的价值越来越受到社会的认可,并在今天,已然成为一种普惠资源 ...
- STM32 MQTT协议 连接中国移动OneNet服务器 上传接收数据(二)MQTT协议常用报文详解
STM32 MQTT协议 连接中国移动OneNet服务器 上传接收数据(二)MQTT协议常用报文详解 上一次我们讲了OneNet平台的注册,这次我们来讲一下MQTT的常用报文用法 上一篇地址https ...
- pandas数据索引之loc、iloc、ix详解及实例
pandas数据索引之loc.iloc.ix详解及实例 先来个总结: loc函数:通过行索引 "Index" 中的具体值来取行数据(如取"Index"为&quo ...
最新文章
- vb小工具-----txt转为excel
- 游戏开发随想之2D游戏架构
- C#中如何 处理 TCP中的TIME_WAIT
- CADisplayLink的简单使用
- vue 中provide的用法_聊聊Vue中provide/inject的应用详解
- python numpy矩阵索引_python – Numpy中的矩阵索引
- .NET下如何拦截鼠标、键盘消息?Win32NET来帮你
- 万博智云上云 单机软件升级多并发SaaS平台
- 【Docker】docker设置固定ip地址
- odbc数据源的配置
- 管理感悟:衡量境界的差异
- 毕马威深度解读北京自贸试验区方案
- Docker 清理数据卷 volumes
- 启智树游记题解——逆境中的奇迹
- 店铺动态评分怎么生效?店铺评分低会影响天猫店铺续签吗?
- windows server 2008 64 位 上安装 postgreSQL 、 openbravo 报错解决
- Spark简介、生态系统
- 微信公众号【黄小斜】和【Java技术江湖】
- 信创办公–基于WPS的EXCEL最佳实践系列 (筛选重要数据)
- 腾讯云数据库-劳动节小试牛刀-TDSQL-MySQL 云实例部署体验
热门文章
- rds 数据导入mysql_将数据导入到 Amazon RDS 数据库实例
- 解决orcale报ORA-28001: the password has expired
- 2021CCPC河北省省赛F题(河南省CCPC测试赛重现)
- call线程起名字_Java线程的5个使用技巧
- UE4学习-AI导航网格的创建及修改
- mysql 开启innodb win版本_MySQL安装与启动——Windows系统下
- 数据库开发技术java方向_Java开发工程师(Web方向) - 03.数据库开发 - 第5章.MyBatis...
- 随机森林 python_如何轻松使用python的随机森林
- python怎么接外活_Python三大活器
- 看技术笔记,提高嵌入式基础