[数据挖掘]关联规则学习笔记

关联规则

参考资料:《数据挖掘导论》人民邮电出版社Pang-Ning Tan等著

关联规则是形如 XY 的蕴含表达式,其中X和Y是不相交的项集。即 XY= 。关联规则的强度可以用它的支持度(support)和置信度(confidence)度量。支持度确定规则可以用于给定数据集的频繁程度。而置信度确定Y在包含X的事务中出现的频繁程度。

支持度

支持度是一种重要度量,因为支持度很低的规则可能只是偶然出现。从商务角度来看,低支持度的规则多半也是无意义的,因为对顾客很少同时购买的商品进行促销可能好处也并不大。因此,支持度通常用来删去哪些无意义的规则。此外,支持度还有一种期望的性质,可以用于关联规则的有效发现。

置信度

置信度度量通过规则进行推理具有可靠性。对于给定的规则 XY ,置信度越高,Y在包含X的事务中出现的可能性就越高。

应当小心解释关联规则分析的结果,由关联规则作出的推论并不必然蕴含因果关系。它只表示规则前件和后件中的同时出现。

定义 关联规则发现
给定事务的集合T,关联规则发现是指找出支持度大于等于minsup并且置信度大于等于minconf的所有规则,其实minsup和minconf是对应的支持度和置信度阀值。

挖掘关联规则的一种原始方法是,计算每个可能规则的支持度和置信度。但是这种方法的代价更高。提高关联规则挖掘算法性能的第一步是拆分支持度和置信度要求。

大部分关联规则挖掘算法通常采用的一种策略是,将关联规则挖掘任务分解成如下2个子任务。
(1)频繁项集产生:其目标是发现满足最小支持度阀值的所有项集,这些项集称作频繁项集;
(2)规则的产生:其目标是从上一步发现的频繁项集中提取所有高置信度的规则,这些规则称作强规则。

通常,频繁项集产生所需的计算开销远大于产生规则所需的开销。

频繁项集的产生

格结构常常用来枚举所有可能的项集。一般来说,一个包含 k 个项的数据集可能产生2k1个频繁项集(真子集)。
发现频繁项集的一种原始方法是确定每个候选项集的支持度,这样计算量是相当大的。
为了更加科学的计算频繁项集,这里先介绍下先验原理。

先验原理
如果一个项集是频繁的,则它的所有子集一定也是频繁的。
相反,如果一个项集是非频繁的,则它的所有超集一定也是非频繁的。

如果发现{a,b}是非频繁的,则整个包含{a,b}超集的子图可以被立即剪枝。这种基于支持度度量修剪指数搜索空间的策略称为基于支持度的剪枝。这种剪枝策略依赖于支持度度量的一个关键性质,即一个项集的支持度决不会超过它的子集的支持度。这种性质也称为支持度度量的反单调性

规则产生

如何有效的从给定的频繁项集中提取关联规则。
例子

设X={1,2,3}是频繁项集。可以由X产生6个候选关联规则: {1,2}{3} {1}{2,3} ….等。由于它们的支持度都等于X的支持度,这些规则一定满足支持度阀值。
计算关联规则的置信度并不需要再次扫描事务数据集。考虑规则 {1,2}{3} 是由频繁项集 X={1,2,3} 产生。该规则的置信度为 σ({1,2,3})σ({1,2})

基于置信度的剪枝

不像支持度度量。置信度不具有任何单调性。定理如下。

定理 如果规则 XYX 不满足置信度阀值,那么 XYX 的规则也一定不满足置信度阀值。其中 X X <script type="math/tex" id="MathJax-Element-14">X</script>的子集。

这一点通过定义很容易证明。

通过这一点性质可以进行剪枝。

频繁项集的紧凑表示

6.4.1 极大频繁项集

定义 极大频繁项集 :极大频繁项集是这样的频繁项集,它的直接超集都不是频繁的。

6.4.2 闭频繁项集

定义 闭项集 项集X是闭的,如果它的直接超集都不具备和他相同的支持度计数。
闭频繁项集 一个项集是闭频繁项集,如果它的闭的,并且它的支持度大于或等于最小支持度阀值。

这里写图片描述

6.6 FP增长算法

该算法不同于Apriori算法的“产生-测试”范型,而是使用一种称作FP树的紧凑数据结构组织数据,并直接从该结构中提取频繁项集。

6.6.1 FP树表示法

详见课本224页
FP增长是一个有趣的算法,它展示了如何使用事务数据集的压缩表示来有效地产生频繁项集。此外,对于某些事务数据集,FP增长算法比标准Apriori算法要快几个数量级。FP增长算法的运行性能依赖于数据集的压缩因子。如果生成的条件FP树非常茂盛,则算法的性能显著下降,因为算法必须产生大量的子问题,并且需要合并每个子问题返回的结果。。。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python数据挖掘学习笔记主要包括以下几个方面的内容:Python基础知识、Python爬虫技术、Python数据分析与数据挖掘。其中,Python基础知识部分介绍了Python编程语言的基本语法、数据类型、流程控制等内容,为数据挖掘学习打下了基础。Python爬虫技术部分介绍了如何使用Python编写爬虫程序,从网页中获取所需数据。Python数据分析与数据挖掘部分则介绍了使用Python进行数据分析和数据挖掘的相关技术和工具。 在Python数据挖掘中,还涉及到一些扩展库的使用,可以使用pip或apt-get进行安装,例如numpy库可以使用命令"sudo pip install numpy"或"sudo apt-get install python-numpy"进行安装。 另外,Matplotlib是Python中最常用的绘图库之一,主要用于绘制二维图形,也可以绘制简单的三维图形。下面是一个使用Matplotlib进行简单绘图的示例代码: ```python import numpy as np import matplotlib.pyplot as plt x = np.linspace(0, 10, 1000) y = np.sin(x) z = np.cos(x ** 2) plt.figure(figsize=(8, 4)) plt.plot(x, y, label='$\sin x$', color='red', linewidth=2) plt.plot(x, z, 'b--', label='$\cos x^2$') plt.xlabel('Time(s)') plt.ylabel('Volt') plt.title('A Simple Example') plt.ylim(0, 2.2) plt.legend() plt.show() ``` 这段代码使用了numpy库生成了一组x轴的数据,然后分别计算了对应的y轴和z轴的数值。接下来使用Matplotlib进行绘图,其中plt.plot函数用于绘制曲线,plt.xlabel和plt.ylabel分别设置x轴和y轴的标签,plt.title设置图的标题,plt.ylim设置y轴的范围,plt.legend用于显示图例,plt.show用于显示图形。 通过学习这些内容,你可以掌握Python数据挖掘的基本知识和常用技术,为进一步的学习和实践打下坚实的基础。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [python数据挖掘学习笔记](https://blog.csdn.net/yinghuoai/article/details/88392141)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [python数据挖掘笔记](https://blog.csdn.net/djm82755/article/details/101452842)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值