Loading [MathJax]/jax/output/CommonHTML/fonts/TeX/AMS-Regular.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则性质 | 非频繁项集超集性质 | 频繁项集子集性质 | 项集与超集支持度性质 )

【数据挖掘】关联规则挖掘 Apriori 算法 ( 关联规则性质 | 非频繁项集超集性质 | 频繁项集子集性质 | 项集与超集支持度性质 )

作者头像
韩曙亮
发布于 2023-03-28 10:58:58
发布于 2023-03-28 10:58:58
7840
举报

文章目录

参考博客 :

一、 非频繁项集超集性质


关联规则 性质 1 : 非频繁项集 的 超集 一定是 非频繁的 ;

超集 就是 包含 该集合的集合 ;

项集

是 非频繁项集 ,

项集

是 项集

的超集 ,

( 使用集合表示 :

, 项集

包含 项集

, 并且 项集

不为空集 )

则 项集

一定是 非频繁的 ;

举例 :

数据集

为 :

事物编号

事物 ( 商品 )

001 001 001

奶粉 , 莴苣

002 002 002

莴苣 , 尿布 , 啤酒 , 甜菜

003 003 003

奶粉 , 尿布 , 啤酒 , 橙汁

004 004 004

奶粉 , 莴苣 , 尿布 , 啤酒

005 005 005

奶粉 , 莴苣 , 尿布 , 橙汁

奶粉 , 莴苣

莴苣 , 尿布 , 啤酒 , 甜菜

奶粉 , 尿布 , 啤酒 , 橙汁

奶粉 , 莴苣 , 尿布 , 啤酒

奶粉 , 莴苣 , 尿布 , 橙汁

项集

项集

上述

就是

的 超集 ,

项集

其支持度是

, 小于最小支持度

, 是 非频繁项集

那么

也是 非频繁项集 ;

在具体算法中会使用该性质 , 用于进行 “剪枝” 操作 ;

计算支持度时 , 按照

项集 支持度 ,

项集 支持度 ,

顺序进行计算 ,

如果发现

项集 中有 非频繁项集 , 则包含该

项集的

项集 肯定是 非频繁项集 ;

然后使用 频繁

项集 组合成

项集 , 然后再计算这些

项集是否是频繁项集 ;

“剪枝” 操作 减少了不必要的计算量 ;

二、 频繁项集子集性质


频繁项集 的 所有非空子集 , 一定是 频繁项集 ;

项集

是 频繁项集 ,

项集

是 项集

的超集 ,

( 使用集合表示 :

, 项集

包含 项集

, 并且 项集

不为空集 )

则 项集

一定是 频繁的 ;

举例 :

数据集

为 :

事物编号

事物 ( 商品 )

001 001 001

奶粉 , 莴苣

002 002 002

莴苣 , 尿布 , 啤酒 , 甜菜

003 003 003

奶粉 , 尿布 , 啤酒 , 橙汁

004 004 004

奶粉 , 莴苣 , 尿布 , 啤酒

005 005 005

奶粉 , 莴苣 , 尿布 , 橙汁

奶粉 , 莴苣

莴苣 , 尿布 , 啤酒 , 甜菜

奶粉 , 尿布 , 啤酒 , 橙汁

奶粉 , 莴苣 , 尿布 , 啤酒

奶粉 , 莴苣 , 尿布 , 橙汁

项集

,

项集

项集

其支持度是

, 等于最小支持度

, 是 频繁项集

那么

项集

的子集是

项集

,

,

根据上述性质 ,

项集

,

都是 频繁项集 ;

三、 项集与超集支持度性质


任意一个 项集 的 支持度 , 都 大于等于 其 超集 支持度 ;

超集 就是 包含 该集合的集合 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
c#中多线程同步Lock(锁)的研究以及跨线程UI的操作
本文只针对C#中,多线程同步所用到的锁(lock)作为研究对象。由于想更直观的显示结果,所以,在做demo的时候,就把多线程通过事件操作UI的代码也写了出来,留作备忘和分享吧。
zls365
2020/12/31
1.8K0
【C#异步】异步多线程的本质,上下文流转和同步
    net同僚对于async和await的话题真的是经久不衰,这段时间又看到了关于这方面的讨论,最终也没有得出什么结论,其实要弄懂这个东西,并没有那么复杂,简单的从本质上来讲,就是一句话,async 和await异步的本质就是状态机+线程环境上下文的流转,由状态机向前推进执行,上下文进行环境切换,在状态机向前推进的时候第一次的movenext会将当前线程的环境上下文保存起来,然后由TaskScheduler调度是否去线程池拿新线程执行这个task,等到后续推进到最后的movenext的时候,里面设置好结果,异常之后,回调则需要运行在调用await之前的环境上下文中去,这里说的是环境上下文,而并非是线程,所以当前环境上下文在await之前是A线程的上下文,在遇到await结束之后可能是B线程的环境上下文,并且异步是异步,线程是线程,异步不一定多线程,这两个不是等价的,针对async和await的源码刨析可以看一下之前写的博客https://www.cnblogs.com/1996-Chinese-Chen/p/15594498.html,这篇文章针对源码讲了一部分,可能不是很明了,只讲了async await执行的一个顺序对于环境上下文没有过多的描述,接下来,我会讲一些环境上下文,同步上下文的知识,以及在cs程序中,框架对于同步上下文的封装。
陈显达
2023/03/16
5220
【C#异步】异步多线程的本质,上下文流转和同步
C#线程
线程 ----   线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。   多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。   多线程可以提高CPU的利用率。在多线程程序中,一个线程必须等待的时候,CPU可以运行其它的线程而不是等待,这样就大大提高了程序的效率。   在 C# 中,System.Threading.Thread
拾点阳光
2018/05/10
8780
【深入浅出C#】章节5:高级面向对象编程:委托和事件
委托和事件是高级面向对象编程中的重要概念,用于实现程序的灵活性、可扩展性和可维护性。它们在实现回调、事件处理和异步编程等方面发挥着关键作用。 委托允许我们将方法视为一种对象,可以将方法作为参数传递、存储在变量中,并在需要时进行调用。这种能力使得委托非常适合用于实现回调函数,将一个方法传递给另一个方法,使得后者在适当的时候调用前者。委托还支持委托链和多播委托的概念,可以将多个方法链接在一起形成一个委托链,依次执行它们。 事件是委托的一种特殊形式,用于实现观察者模式和事件驱动编程。事件提供了一种简洁和可靠的方式来处理和响应特定的程序事件,如用户交互、消息通知等。通过事件,我们可以定义事件的发布者和订阅者,发布者触发事件时,订阅者会收到通知并执行相应的操作。这种松耦合的设计模式使得程序更具可扩展性和可维护性。 委托和事件在异步编程中也起到重要的作用。它们可以帮助我们处理异步操作的回调和通知,提高程序的响应性和效率。通过将异步操作封装在委托或事件中,我们可以在异步操作完成后执行相应的处理逻辑,而不需要阻塞主线程或进行复杂的线程管理。
喵叔
2023/07/21
7300
C#中Invoke的用法()
一直对invoke和begininvoke的使用和概念比较混乱,这两天看了些资料,对这两个的用法和原理有了些新的认识和理解。
vv彭
2020/12/11
2.3K0
invoke和begininvoke 区别——c#
      https://www.cnblogs.com/worldreason/archive/2008/06/09/1216127.html
vv彭
2020/12/16
2.8K0
invoke和begininvoke 区别——c#
c#跨线程访问控件
任务1和任务2采用两个线程,将每次运算结果显示在lable中,我们先按自己的思路写下看能不能实现。
MaybeHC
2024/04/23
1020
c#跨线程访问控件
谈谈C#中各种线程的使用及注意项~
接下来我们就来学习一下 timer 吧,摇摇脑袋,清醒一下,接下来开始学习....
用户7053485
2020/06/19
1.9K0
异步与多线程——c#
异步这概念刚开始接触的时候,不是那么容易接受,但是需要用的地方还真的挺多的,刚学习的时候,也很懵逼走了不少弯路,所以这里有必要总结一下。 msdn文档:https://docs.microsoft.com/en-us/dotnet/standard/asynchronous-programming-patterns/ 官方的简介: *.NET Framework提供了执行异步操作的三种模式: 异步编程模型(APM)模式(也称为IAsyncResult的模式),其中异步操作要求Begin和End方法(例如,BeginWrite和EndWrite异步写入操作)。这种模式不再被推荐用于新开发。有关更多信息,请参阅异步编程模型(APM)。
vv彭
2021/01/07
1.7K0
异步与多线程——c#
C#报错——(Winform) 在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级
“Windows 窗体”使用单线程单元 (STA) 模型,因为“Windows 窗体”基于本机 Win32 窗口,而 Win32 窗口从本质上而言是单元线程。STA 模型意味着可以在任何线程上创建窗口,但窗口一旦创建后就不能切换线程,并且对它的所有函数调用都必须在其创建线程上发生。除了 Windows 窗体之外,.NET Framework 中的类使用自由线程模型。有关 .NET Framework 中的线程的信息,请参见线程处理。
vv彭
2021/03/07
3.5K0
C#中的invoke方法
在用.NET Framework框架的WinForm构建GUI程序界面时,如果要在控件的事件响应函数中改变控件的状态,例如:某个按钮上的文本原先叫“打开”,单击之后按钮上的文本显示“关闭”,初学者往往会想当然地这么写:
全栈程序员站长
2022/08/31
1.7K0
C#之委托如此简单
近期和几位做嵌入式开发的朋友闲聊过程中,一位朋友抱怨到:这C#太难用了,我想在N个窗体(或者是N个用户组件之间)传递值都搞不定,非得要定义一个全局变量来存储,然后用定时器来刷新值,太Low了。我急切的回答道:这很简单,不就是委托的事嘛。那你来一个示例啊:朋友道。此为这篇博客的起因,所以此篇博客对于有c#开发经验的伙伴们那是小菜一喋。
sam dragon
2019/11/12
6330
winform开发 总结1>winform程序使用线程的必要性,以及正确的使用方式
单线程操作在执行耗时任务时会造成界面假死,带来非常差劲的用户体验,有时候甚至会影响到正常的业务执行,使用多线程做相关操作实属不得已之举。
FreeTimeWorker
2020/08/31
8250
C#中的委托和事件 - Part.2
如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。
张子阳
2018/09/27
2.1K0
子线程与UI线程的通信(委托)
由于项目中存在这样的载入的画面:在界面上有显示载入信息的Label控件和进度条,如果采用单线程则在载入数据的时候UI界面会被锁死,造成假死的感觉。为了给一个更友好的界面,因此有必要引入多线程技术,使得软件更加“人性化”。
SAP梦心
2022/05/07
6450
新学C#线程使用总结建议收藏
线程的使用其实很简单,和JAVA里面差不多,但是还是有很多特别的地方,在C#中的线程,如果要对非线程创建的控件进行操作的话,就会有异常,所以需要使用委托来对其他控件进行操作。
全栈程序员站长
2022/07/15
1650
C#实现多线程的几种方式
多线程是C#中一个重要的概念,多线程指的是在同一进程中同时运行多个线程的机制。多线程适用于需要提高系统并发性、吞吐量和响应速度的场景,可以充分利用多核处理器和系统资源,提高应用程序的性能和效率。
追逐时光者
2024/05/12
1970
C#实现多线程的几种方式
C#基础知识回顾--线程传参
  在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数, 也不能有返回值。如果希望传递参数给执行函数,则可以使用带参数的ParameterizedThreadStart委托, public delegate void ParameterizedThreadStart(Object obj) 可以将要传送给线程函数的信息封装为一个对象,然后调用Thread类的以下构造函数  public Thread (Parameterized
hbbliyong
2018/03/05
8670
C#实例(经典):四路光电开关&激光雷达数据采集和波形图绘制
这篇文章涉及较多C#重要知识点,如果都能看懂,你至少可以算得上入门了!有兴趣的同志可以下载源码调试.
zls365
2020/10/30
1.8K0
C#实例(经典):四路光电开关&激光雷达数据采集和波形图绘制
WinForm多线程修改控件时,提示在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke
但是假如在多线程操作还没完成的时候,我就提前关闭窗体,则会引发InvalidOperationException,提示 “在创建窗口句柄之前,不能在控件上调用 Invoke 或 BeginInvoke”
跟着阿笨一起玩NET
2020/12/29
2.8K0
推荐阅读
相关推荐
c#中多线程同步Lock(锁)的研究以及跨线程UI的操作
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文