频繁项集的压缩表示| 学习笔记

简介: 快速学习频繁项集的压缩表示。

开发者学堂课程【高校精品课-北京理工大学-数据仓库与数据挖掘(上):频繁项集的压缩表示】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/921/detail/15638


频繁项集的压缩表示

 

在前面的章节中,我们已经向大家介绍了如何从事务数据集中挖掘频繁项集,但是如果我们的项集数目比较多,我们的事物数目比较多,我们得到的频繁项集的数目比较多的时候,我们就不可能把所有的频繁项集一一枚举出来,那么这个时候我们就需要频繁项集的压缩表示。我们首先来看一下最大频繁项集,最大频繁项集集合是我们频繁项集的压缩表示,

image.png

最大频繁项集的定义。

一个项集如果是最大频繁项集,它必须满足两个条件,第一个首先他自己必须是频繁项集,第二个就是它的所有直接超集没有一个是频繁的。我们可以在我们由 ABCDE 构成的频繁空间中去发现这样一个项集空间中,我们的黑色阴影部分代表的是非频繁项集,而我们白色的项集代表的是频繁项集。对于我们的项集 AD,它就是一个最大频繁项集,因为它的超级是不频繁的。我们现在向大家举例说明为什么最大频繁项集是所有频繁项集的压缩表示。

image.png

比如对于我们 PPT 上的这样一张表,它展示的是由A1到 A10, B1到 B10 C1到 C10,一共30个相组成的事物的二元表示。那么对于这样的一个事物数据集,我们首先设它的最小支持度计数为5,当最小支持度为5的时候,那么我们可以看到我们的最大的频繁项集是 F,那么由他推出的所有的频繁项集也是F。

image.png 

那如果我们降低我们的支持度计数阈值。假设我们的支持度阈值是四,那么根据最大频繁项集的定义,我们可以得到我们最大频繁项集集合是 EF 和 G。那么我们所有的频繁项集就是由 EF 的子集和 G 组成,那EF的子集包含 EF、E、F。所以我们的所有的频繁项集就是 EF、E、F和G。

我们进一步降低我们的支持度阈值。当我们的支持度阈值设置为三的时候,我们最大频繁项集的集合就是由CDEF和G组成,那么通过最大频繁项集我们可以推出所有的频繁项集也就是 CDEF 的子集和 G 组成的集合。

虽然我们的最大频繁项集能够压缩表示所有的频繁项集,但是最大频繁项集是不能够提供所有频繁项集的支持度信息的。

那下面我们就向大家介绍 B 频繁项集。首先我们来看一下什么是B项集,一个项目如果他是 X,那么必须满足以下一个条件,也就是它的所有的直接超集的支持度都和他不相同,也就意味着他所有直接超集的支持度计数都低于这个X。

image.png

那B频繁项集就指的是这个x项集它不仅是B的,而且是频繁的,对于B频繁项集和最大频繁项集的关系,我们可以通过这个图看出,首先B频繁项集是所有频繁项集和B频繁项集的交集,最大频繁交集是我们B频繁项集的子集,也就是说,B频繁项集不仅能够压缩表示所有的频繁项集,它还提供了所有频繁项集。

image.png

我们通过一个例子向大家进行解释。假设我的事物集只有两个事物组成,A1 A100 1和 A50。

设最小支持度阈值为一,那么我们可以得到我们的最大频繁项集是 A1到 A10,它的支持度为一,我们可以得到我们的B频繁项集集合是 A1 到 A10,它的支持度为一,A1 到 A50他的支持度为二。假设我们只知道最大频繁项集,那么根据最大频繁项集集合,我们可以列出所有的频繁项集,但是我们频繁项集的支持度信息是缺失的。

比如像项集 A2,A50,我只知道他是频繁的,但是他的支持度信息是多少我是不清楚的。

但是如果我知道B频繁项集集合,那么对于我的 A2A50 这个项集,我不仅知道他是频繁的,而且我还知道他的支持度信息为为二,因为它是包含在 A1A50 这个项集中的,所以说对于 B 频繁项集来说,它是我们频繁项集的完整的压缩表达。

相关文章
|
机器学习/深度学习 数据采集 数据挖掘
【机器学习】数据清洗之处理缺失点
【机器学习】数据清洗之处理缺失点
493 1
|
机器学习/深度学习 数据可视化 数据挖掘
探索大数据时代的关键技术:数据挖掘、可视化和数据仓库
探索大数据时代的关键技术:数据挖掘、可视化和数据仓库
1233 0
|
安全 数据处理 开发工具
第三方SDK合规浅析
近日,工信部通报了22款APP、SDK存在侵害用户权益行为。通报超半数的原因违反了《个保法》最小化收集的原则,包括超范围收集个人信息,APP强制、频繁、过度索取权限。
425 1
|
数据挖掘 索引 Python
Pandas数据读取:CSV文件
Pandas 是 Python 中强大的数据分析库,`read_csv` 函数用于从 CSV 文件中读取数据。本文介绍 `read_csv` 的基本用法、常见问题及其解决方案,并通过代码案例详细说明。涵盖导入库、读取文件、指定列名和分隔符、处理文件路径错误、编码问题、大文件读取、数据类型问题、日期时间解析、空值处理、跳过行、指定索引列等。高级用法包括自定义列名映射、处理多行标题和注释行。希望本文能帮助你更高效地使用 Pandas 进行数据读取和处理。
1047 13
|
供应链 算法 数据挖掘
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛B题的解决方案,深入分析了产品订单数据,并使用Arimax和Var模型进行了需求预测,旨在为企业供应链管理提供科学依据,论文共23页并包含实现代码。
400 0
【2023年第十一届泰迪杯数据挖掘挑战赛】B题:产品订单的数据分析与需求预测 23页论文及实现代码
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
1067 3
|
机器学习/深度学习 算法 搜索推荐
【机器学习】凸集、凸函数、凸优化、凸优化问题、非凸优化问题概念详解
本文解释了凸集、凸函数、凸优化以及非凸优化的概念,并探讨了它们在机器学习中的应用,包括如何将非凸问题转化为凸问题的方法和技术。
2349 0
|
开发工具 git 开发者
【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰
【GitHub】如何在github上提交PR(Pull Request) + 多个pr同时提交、互不干扰
4235 6
|
机器学习/深度学习 自然语言处理 并行计算
【深度学习】Attention的原理、分类及实现
文章详细介绍了注意力机制(Attention)的原理、不同类型的分类以及如何在Keras中实现Attention。文章涵盖了Attention的基本概念、计算区域、所用信息、结构层次等方面,并提供了实现示例。
2034 0
|
开发者 Python
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘配置信息.csv‘
【Python】已解决:FileNotFoundError: [Errno 2] No such file or directory: ‘配置信息.csv‘
1261 0