news 2026/6/15 14:06:51

如何计算数据立方体中聚合单元的个数?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何计算数据立方体中聚合单元的个数?

课件例题

这个题如此抽象,先看一下基本概念:

有两种情况:count>=1,count>=2

理解一下,这里count>=1时,相当于把每个基础单元格看作集合,然后求出这个集合的所有真子集,然后取并集

发现

数据立方体count>=k(k>=2,k=1的时候还是用容斥原理吧)时聚合单元的个数,等于挖掘频繁项集支持度>=k的个数+1(ALL的情况)

可以这样理解,如果是(a1,b1,*,*)这种情况,就是不考虑后面的项目,相当于只有(a1,b1)

对于课件中count>=2的这一问,1-频繁项集a1,a2,2-频繁项集a1a2,再加上ALL,共4个

一个练习题

按照挖掘频繁项集的思路:1-频繁项集:a1,b1,c1,共3个

2-频繁项集a1b1,a1c1,共2个

3-频繁项集,没有

再加上(*,*,*,*,*,*),一共6个

如果是count>=1呢?

T1T2T3都有2^6 ,3*2^6

T1T2共有(a1,b1),2^2;T2T3共有(a1),2;T1T2共有(a1,c1),2^2

T1T2T3共有a1,2

根据课件中讲的,还要减去basecell,也就是184-3 = 181

闭立方体

冰山立方体与闭立方体常常比较

还是这个例题:

计算冰山立方体的数目与闭立方体的数目

冰山立方体的结果是

闭立方体的计算结果是

(a1)(a1,b1)(a1,c1)

在冰山立方体的基础上,找到最长的项集(a1,b1),(a1,c1),如果它分别的子集(a1),(b1)和(a1),(c1)的count值跟它一样,就把子集去掉

另外,all相当于空集的情况

因为(a1)的子集有空集,且all的count也是3,于是all也被剔除掉了

闭立方体同样可以用闭频繁项集理解:

刚刚的闭立方体是无损压缩,还有个概念是最大立方体,是有损压缩

最大立方体

用之前的例子:

也是先算冰山立方体

最大立方体只有两个记录:(a1,b1),(a1,c1)

同样用频繁项集的概念来理解,最大立方体对应最大频繁项集,也就是要去掉频繁项集的子集(a1,b1)包含子集(a1)(b1)空集,(a1,c1)包含子集(a1)(c1)空集都去掉

闭立方体与最大立方体的区别

闭立方体在剔除的时候,只剔除子集中与这个项集count数目一致的,而最大立方体,不管子集的大小,都剔除

这里立方体定义的时候与项集不同

立方体定义的,父集是(a1,*,*,*),它的子集是(a1,b1,*,*)等

而我刚刚说的子集是项集这个集合的概念,(a1,b1)的子集是(a1)(b1)

对于(*,*,*,*)这种all的情况,相当于空集

(个人认为用项集的概念转化一下就更好理解,希望能有原始的更好的理解方法)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 11:22:20

终极隐私浏览器构建指南:5步从源码编译Brave浏览器

终极隐私浏览器构建指南:5步从源码编译Brave浏览器 【免费下载链接】brave-browser Brave browser for Android, iOS, Linux, macOS, Windows. 项目地址: https://gitcode.com/GitHub_Trending/br/brave-browser 在数据泄露频发的时代,你是否渴望…

作者头像 李华
网站建设 2026/6/6 12:16:45

手把手教你理解树莓派插针定义中的数字引脚

手把手教你搞懂树莓派GPIO:从点亮LED到读懂每一个插针 你有没有过这样的经历?手握一块树莓派,杜邦线在桌上摆了一堆,却迟迟不敢接上——生怕哪个引脚接错了电压,下一秒就“冒烟报废”。别担心,这几乎是每个…

作者头像 李华
网站建设 2026/6/12 10:22:27

一对一咨询预约:让销售团队直接对接高意向用户

一对一咨询预约:让销售团队直接对接高意向用户 在AI模型服务和智能硬件这类技术密集型行业中,一个常见的尴尬局面是:潜在客户明明表现出浓厚兴趣——反复浏览技术文档、查看定价页面、下载部署指南——却迟迟没有下一步动作。而销售团队呢&am…

作者头像 李华
网站建设 2026/6/15 11:21:30

Java数组与二维数组:创建、初始化、遍历与实操案例全解析

⭐️个体主页:Kidd 📚所属栏目:java 数组是Java中最基础的数据结构之一,用于存储同一数据类型的多个元素,具备固定长度、连续内存分配的特性,是后续学习集合框架、复杂算法的基础。二维数组可理解为“数组…

作者头像 李华
网站建设 2026/6/15 12:27:20

3D球体抽奖应用:为年会注入科技魅力的完整解决方案

3D球体抽奖应用:为年会注入科技魅力的完整解决方案 【免费下载链接】log-lottery 🎈🎈🎈🎈年会抽奖程序,threejsvue3 3D球体动态抽奖应用。 项目地址: https://gitcode.com/gh_mirrors/lo/log-lottery …

作者头像 李华
网站建设 2026/6/7 11:24:53

SeedVR2-7B终极视频修复与AI增强完整指南

SeedVR2-7B终极视频修复与AI增强完整指南 【免费下载链接】SeedVR2-7B 项目地址: https://ai.gitcode.com/hf_mirrors/ByteDance-Seed/SeedVR2-7B 面对视频质量退化问题,传统修复方法往往难以平衡效率与效果。ByteDance推出的SeedVR2-7B模型通过创新的单步扩…

作者头像 李华