首页 > 其他分享 >关联规则挖掘

关联规则挖掘

时间:2022-10-23 23:46:05浏览次数:49  
标签:... basket 关联 item 规则 挖掘 集合 market

频繁集是指market-basket模型中,相同商品集出现在不同basket中的概率较大的那一些集合,这里的概率threshold被叫做support,用mapreduce的方法或者思想可以很容易计算得到。而关联规则是频繁集挖掘里面不太重要的一个的事情,即求p(xj|x1,x2,...xi),一个条件概率。只要统计出 (x1,...,xi) 以及 (x1,...,xi,xj)即可。因此大部分注意力应该集中在如何计算长度为k的频繁项中。

频繁项挖掘的应用,可以主要参考market-basket, market就是item的集合,而basket是item的一些子集合,因此我们认为这就是一个bi-partite graph的挖掘。举个例子,整个market是用户,则basket就是每一局的用户匹配/组队关系。挖掘频繁项就是挖掘经常一起组队的用户群体,这也被称为固定队。或者,更深一步,我们可以用特征来表示用户,比如说等级,地区,社群id等,就可以研究命题:什么样的用户/特征会经常一起组队;或者在NLP中,也可以用来挖掘topic,比如整个market就是所有的phrase,而每一个paragraph,或者文章就是basket,那经常一起出现的phrase可能就是抄袭。

频繁项挖掘最大的挑战一般是内存,因为我们最起码需要O(n)的内存量来记录每个item的count,然后需要O(n^2)来记录item pair的count,以此类推,关系集合越大,需要的内存量越大,且时间复杂度越高。考虑到关系的稀疏性,我们一般不用array的方式,而是用tuple的方式来表示数据,即(x1,...,xi, count)的方式,然后做mapreduce。但是这个还是需要统计全量的key和count。因此一个优化点就是通过filter掉一些低频的数据,来达到减少内存消耗的目的。这里是基于两个原理:

1. 低频的k集合,其关联的k+1集合只会更加低频。比如如果item i是个低频item,则i相关的pair只会低频(类比全概率公式,i的概率是 (i,j)概率的marginal sum)。

2. 集合k+1,则所有的k集合都是频繁的。

因此,我们在第k个pass的时候,就可以过滤掉所有低于threshold的k集合,然后再生成k+1的集合。

算法具体步骤如下

 

 

参考:

[1] https://blog.csdn.net/qq_41357569/article/details/118614358

[2] Mining of Massive Dataset, lecture 20.

标签:...,basket,关联,item,规则,挖掘,集合,market
From: https://www.cnblogs.com/kunrenzhilu/p/16820062.html

相关文章

  • sentinel的四种流控规则介绍
    sentinel的四种流控规则介绍今天的内容我们主要围绕四个点进行展开介绍。流控模式 :关联、链路流控效果 :WarmUp、排队等待这四点具体是什么意思呢?首先启动项目:cl......
  • 【视频】逆变换抽样将数据标准化和R语言结构化转换:BOX-COX、凸规则变换方法
    全文链接:http://tecdat.cn/?p=22251 原文出处:拓端数据部落公众号归一化数据是数据科学中的一项常见任务。有时它可以让我们加快梯度下降的速度或提高模型的准确性,在某......
  • .net core -利用 BsonDocumentProjectionDefinition 和Lookup 进行 join 关联 MongoDB
    前序   前段时间由于项目需要用到MongoDB,但是MongoDB不建议Collectionjoin 查询,网上很多例子查询都是基于linq进行关联查询。但是在stackoverflow找到一个例子,程......
  • MasaFramework -- 缓存入门与规则配置
    概念什么是缓存,在项目中,为了提高数据的读取速度,我们会对不经常变更但访问频繁的数据做缓存处理,我们常用的缓存有:本地缓存内存缓存:IMemoryCache分布式缓存Redis:......
  • 四、关联查询
    一.笛卡尔积1.概念笛卡尔积是指在数学中,两个集合X和Y的笛卡尔积,又称直积,表示为X×Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员。简单概括:举例......
  • 一道笔试题:给定编码规则,实现decode()方法
    一道笔试题:给定编码规则,实现decode()方法publicclassCodeDecode{   /*变换函数encode()顺序考察已知字符串的字符,按以下规则逐组生成新字符串:     (1......
  • 2021数据挖掘赛题方案来了!
     Datawhale干货 作者:阿水,北京航空航天大学,Datawhale成员本文以世界人工智能创新大赛(AIWIN)心电图智能诊断竞赛为实践背景,给出了数据挖掘实践的常见思路和流程。本项目使用T......
  • jqGrid通用编辑规则
    一个将数据显示在grid中主要的原因是为了快速容易的编辑它,jqGrid支持3种编辑方法jqGrid单元格编辑配置,事件及方法::编辑表格中的单元格jqGrid行编辑配置:同时编辑一行中......
  • 数据挖掘竞赛指南:曾经的数据挖掘少年,如今的阿里算法大佬
     Datawhale 作者:杰少,南京大学硕士简介:杰少,南京大学硕士,天池数据科学家,就职于阿里。KDD19,NIPS18,JDD19第二名,天池竞赛5次Top3,其他数据竞赛平台奖项20余项。数据竞赛近几......
  • 挖掘AK/SK泄露漏洞
    前言项目中各厂商越来越趋势于使用云存储,云管理。漏洞介绍AK/SK(AccessKeyID/SecretAccessKey)即访问密钥,包含访问密钥ID(AK)和秘密访问密......