非频繁模式

非频繁模式,是一个项集或规则,其支持度小于阈值minsup.
绝大部分的频繁模式不是令人感兴趣的,但其中有些分析是有用的,特别是涉及到数据中的负相关时,如一起购买DVD的顾客多半不会购买VCR,反之亦然,这种负相关模式有助于识别竞争项(competing item),即可以相互替代的项。

某些非频繁模式也可能暗示数据中出现了某些罕见事件或例外情况。如,如果{火灾=yes}是频繁的,但是{火灾=yes,警报=on}是非频繁的,则后者是有趣的非频繁模式,因为可能指出报警系统出问题,为了检测这种情况,可以确定模式的期望支持度,当模式支持度小于期望支持度时,表明其实一个有趣的非频繁模式。

挖掘非频繁模式的主要问题是:

  1. 如何识别有趣的非频繁模式。
  2. 如何在大数据集中有效地发现它们。

负模式

     

是项的集合。负项       表示项     不在给定事务中出现。如事务不包含咖啡,则 咖啡 

是一个值为1的负项。

负项集,负项集X是一个具有如下性质的项集:(1) 

,其中A是正项的集合,而     是负项的集合,     ;(2)

负关联规则,(1)规则是从负项集中提取的,(2)规则支持度大于或等于minsup,(3)规则的置信度大于或等于minconf。

负项集和负关联规则称为负模式(negative pattern)。负关联规则的一个例子是茶咖啡 

负相关模式

     

表示k-项集,P(X)表示事务包含X的概率。在关联分析中,这个概率通常用项集的支持度s(X)估计。

负相关项集 项集X是负相关的,如果

            

其中     是项  

的支持度。s(X)是给出了X的所有项统计独立的概率估计。如果它的支持度小于使用统计独立性假设计算出的期望支持度。s(X)越小,模式就越负相关。

负相关关联规则,规则

是负相关的,如果

 

其中  ,这里定义的X和Y中的项的负相关部分条件,负相关的完全条件为

         

其中     而     。因为X或Y中的项通常是正相关的,因此使用部分条件而不是完全条件来定义负相关关联规则更实际。如规则

眼镜,镜头清洁剂隐形眼镜,盐溶液 

是负相关的,但是其中项集内的项之间是负相关的,眼镜盒镜头清洁剂是负相关的,如果使用完全条件,可能就不能发现该规则了。

负相关条件也可以用正项集和负项集的支持度表示
(不知道为什么博客园的markdown不支持多行公式?在其他地方都可以的,如果知道怎么做的希望能告知~~)

可以得到负相关的条件为

         

负相关项集和负相关关联规则统称为负相关模式(negatively correlated pattern)

非频繁模式、负模式和负相关模式比较

根据上面的定义,我们得到,非频繁模式与负相关模式只涉及包含正项的项集或模式,而负模式涉及包含正项和负项的项集或模式。

挖掘有趣的非频繁模式技术

非频繁项集是未被的频繁项集产生算法如Apriori或FP所提取的有所项集,如下面边界下的那些项集

非频繁模式的数量可能是指数的,挖掘非频繁模式主要是为了挖掘那些有趣的非频繁模式。可以通过删除那些不满足负相关条件的非频繁项集得到。但是与挖掘频繁项集的支持度度量不同,挖掘负相关项集使用的基于相关性的度量不具有用于指数搜索空间剪枝的反单调性,因而计算量很大。

基于挖掘负模式的技术

使用负项增广,将事务数据二元化,把原始数据变成具有正项和负项的事务。对增广的事务使用已有的频繁项集生成算法。可以导出所有的负项集。
(下面的右表中B和D两项标好像错了,应为 

 


如果只有少量变量被视为对称的二元变量时,该方法可行的,但是如果很多项,则会出现一些问题

  1. 数据集翻倍
  2. 引入负项后,会出现

 

  1. ,其中必有一个项的支持度超过50%,因而导致使用基于支持度剪枝策略算法时,频繁项集的数量将呈指数增长。
  2. 增加负项后,事务的宽度增加,将会增加候选项集的数量,很多算法都不能使用。

前面的方法是蛮力计算方法,代价很高,因为迫使我们确定大量正模式和负模式的支持度。另一种方法不是用负项集增广数据集,而利用正项集来计算负项集的支持度。如

     

通常项集   的支持度可以

        

可以用其他的方法来进一步提高算法性能,仅桑y频繁时, 

才是有趣的。稀有项易于产生非频繁项集。

基于支持度期望的技术。

仅当非频繁模式的支持度显著小于期望支持度时,才认为是有趣的,期望支持度根据统计独立性假设计算。使用概念分层和基于近邻的方法,称作间接关联。

1. 基于概念分层的支持度期望

仅用客观度量还不足以删除不感兴趣的非频繁模式。如面包和台式机是不同的产品类,他们的支持度较低,但是他们不是有趣的非频繁模式,因而需要使用领域知识裁剪不感兴趣的项。

假定{C, G}是频繁的,用s(.)表示模式的实际支持度,

表示期望支持度。则

       
    
    

2. 基于间接关联的支持度期望
商品(a, b),如果是不相关商品,则预期支持度较低,如果是相关的商品,预期支持度较高。上面使用概念分层来计算期望支持度,下面使用另外一种方法:通过考察与这两个商品一起购买的其他商品。

间接关联,一对项a,b是通过中介集间接关联的,如果下列条件成立
(1) 

(项对支持度条件)
(2)

使得

(a)  

并且  

(中介支持度条件)

(b)    

,其中d(X, Z)是X和Z之间关联的客观度量 (中介依赖条件)

中介支持度和依赖条件确保Y中的项形成a和b的近邻。可以使用兴趣因子、余弦或其他依赖度量。

进阶关联有很多应用,如a和b可能是竞争商品。文本挖掘中可以识别同义词和反义词。

数据挖掘之关联分析七(非频繁模式)相关推荐

  1. 数据挖掘之关联分析六(子图模式)

    子图模式 频繁子图挖掘(frequent subgraph mining):在图的集合中发现一组公共子结构. 图和子图 图是一种用来表示实体集之间联系的数据结构. 子图,图       是另一个图   ...

  2. java频繁项集挖掘数据关联_数据挖掘之关联分析二(频繁项集的产生)

    频繁项集的产生 格结构(lattice structure)常常用来表示所有可能的项集. 发现频繁项集的一个原始方法是确定格结构中每个候选项集的支持度.但是工作量比较大.另外有几种方法可以降低产生频繁 ...

  3. 实验六、数据挖掘之关联分析

    实验六.数据挖掘之关联分析 一.实验目的 1. 理解Apriori算法的基本原理 2. 理解FP增长算法的基本原理 3. 学会用python实现Apriori算法 4. 学会用python实现FP增长 ...

  4. 轻松入门机器学习数据挖掘算法——关联分析(Apriori算法)

    小故事:20世纪90年代,沃尔玛超市在对顾客的购物记录进行购物篮分析时,发现了一个奇怪的现象: "啤酒"和"尿布"两件看上去毫无关系的商品,经常出现在同一个购物 ...

  5. 数据挖掘之关联分析(实验展示以及源代码)

    数据挖掘之关联分析 算法实现:Apriori算法和FP-growth 算法 源代码 简单描述下,关联分析概念 关联分析概念主要参考下面的博文 原文:https://blog.csdn.net/qq_4 ...

  6. 数据挖掘之关联分析四(连续属性处理)

    处理连续属性 挖掘连续属性可能揭示数据的内在联系,包含连续属性的关联规则通常称作量化关联规则(quantitative association rule). 主要讨论三种对连续数据进行关联分析的方法 ...

  7. 数据挖掘之关联分析五(序列模式)

    购物篮数据常常包含关于商品何时被顾客购买的时间信息,可以使用这种信息,将顾客在一段时间内的购物拼接成事务序列,这些事务通常基于时间或空间的先后次序. 问题描述 一般地,序列是元素(element)的有 ...

  8. 数据挖掘之关联分析一(基本概念)

    许多商业企业运营中的大量数据,通常称为购物篮事务(market basket transaction).表中每一行对应一个事务,包含一个唯一标识TID. 利用关联分析的方法可以发现联系如关联规则或频繁 ...

  9. 数据挖掘之关联分析Apriori算法

    文章目录 一.理论知识 1.1.定义 1.2.关联规则 1.3.频繁项集的产生 二.python实战 一.理论知识 许多商业企业在运营中积累了大量的数据.例如:普通超市的收银台每天都会收集到大量的用户 ...

最新文章

  1. 2021高考成绩各科各题得分查询,2021年新疆高考分数一分一段位次表,新疆高考个人成绩排名查询方法...
  2. vue2.0通过Axios导出excel文件(解决乱码问题)
  3. 套接字I/O模型之WSAEventSelect
  4. @Async的异步任务多起来了,如何配置多个线程池来隔离任务?
  5. 使用GeocodeService进行地理位置检索
  6. 判断N!中二进制中最低位1的位置
  7. 短视频Gif快手-有点意思 | 手摸手产品研究院
  8. linux驱动向不同串口发数据,Linux串口(serial、uart)驱动程序设计
  9. emui内核支持kvm吗_KVM虚拟化详解
  10. 基于Spring Security的认证方式_Spring Security 的结构总览_Spring Security OAuth2.0认证授权---springcloud工作笔记122
  11. Halcon 学习总结——电子加密狗字符检测(ocr_dongle)
  12. 利用定时器中断方式控制led灯的闪烁速度_实验四 LED点阵
  13. fbeta_socre使用
  14. 基于STM32设计的掌上游戏机(运行NES游戏模拟器)详细开发过程
  15. TCL学习心得(2)Tcl语言的语法
  16. QT实现的人机对战五子棋
  17. 00900网页设计与制作多选题
  18. Spring 事件发布机制@EventListener源码深度解析
  19. Django Vue实现动态菜单、动态权限
  20. 精通spring4.x 非扫描_巫师财经退出b站的争议,怎样评论才能显得比较精通合同法...

热门文章

  1. python分词和词频统计
  2. 简介Linux磁盘管理与文件系统
  3. WIN7情况下VMWARE虚构机中Microsoft Windows XP Professional 2002 Service Pack2与win7共享文件的编制:
  4. pcm 8k单声道和双声道采样_音频接口PCM
  5. html读取本地txt_利用MySQL/MariaDB的逻辑缺陷伪造恶意服务端读取客户端文件
  6. kmeans改进 matlab,基于距离函数的改进k―means 算法
  7. guns java_guns——一个简便的后台管理系统
  8. matlab非线性回归delta,讲解:Delta-sigma、Matlab、analog-to-digital、MatlabPython|SQ
  9. ajax的url可以用变量吗6,如何使用变量设置 Ajax Url
  10. pandas常见错误类型TypeError: bad operand type for unary ~: 'float'