推广 热搜: 原理  隔膜泵  地面  桥式起重机  饮品  资源  2023  济宁缓冲床  龙门吊出租厂家  塑料杯 

关联规则挖掘 、关联规则挖掘的算法主要有哪两种

   日期:2023-04-16     浏览:28    评论:0    
核心提示:关联规则挖掘与分类规则挖掘的区别和联系摘要 本文介绍关联规则挖掘研究情况提关联规则类些典型算进行析评[1]价指传统关联规则衡量标准足归纳关联规则价值衡量展望关联规则挖掘未研究向关键词 数据挖掘关联规则

关联规则挖掘与分类规则挖掘的区别和联系

摘要 本文介绍关联规则挖掘研究情况提关联规则类些典型算进行析评[1]价指传统关联规则衡量标准足归纳关联规则价值衡量展望关联规则挖掘未研究向

关键词 数据挖掘关联规则频集OLAP

1引言

数据挖掘(Data Mining)称数据库知识发现(Knowledge Discovery in Database)近几已数据库界所广泛研究其关联规则(Association Rules)挖掘重要问题

关联规则发现交易数据库同商品(项)间联系些规则找顾客购买行模式购买某商品购买其商品影响发现规则应用于商品货架设计、货存安排及根据购买模式用户进行类

Agrawal等于1993[1]首先提挖掘顾客交易数据库项集间关联规则问题诸研究员关联规则挖掘问题进行量研究工作包括原算进行优化引入随机采、并行思想等提高算挖掘规则效率;关联规则应用进行推广

近独立于Agrawal频集工作[18,19]避免频集些缺陷探索挖掘关联规则新同随着OLAP技术熟应用OLAP关联规则结合[20,21]重要向些工作[6]注重于挖掘模式价值进行评估提模型建议些值考虑研究向

本文第二部关联规则基本概念介绍提关联规则类;第三部挖掘算介绍经典apriori始描述该算优化拓展接着讲述脱离apriori算层、维关联规则挖掘;第四部归纳关联规则价值衡量主要两面进行考虑:系统客观层面用户主观层面;展望关联规则挖掘未研究向

2关联规则基本概念

2.1基本概念问题描述

设I={i1, i2,…, im}二进制文字集合其元素称项(item)记D交易(transaction)T集合交易T项集合并且TíI 应每交易唯标识交易号记作TID设XI项集合XíT称交易T包含X

关联规则形XTY蕴涵式XìI, YìI并且X?Y=F规则XTY交易数据库D支持度(support)交易集包含XY交易数与所交易数比记support(XTY)即

support(XTY)=|{T:XèYíTT?D}|/|D|

规则XTY交易集信度(confidence)指包含XY交易数与包含X交易数比记confidence(XTY)即

confidence(XTY)=|{T: XèYíTT?D}|/|{T:XíTT?D}|

给定交易集D挖掘关联规则问题产支持度信度别于用户给定支持度(minsupp)信度(minconf)关联规则

2.2 关联规则种类

我关联规则按同情况进行类:

1. 基于规则处理变量类别关联规则布尔型数值型

布尔型关联规则处理值都离散、种类化显示些变量间关系;数值型关联规则维关联或层关联规则结合起数值型字段进行处理其进行态割或者直接原始数据进行处理数值型关联规则包含种类变量

例:性别==职业=秘书 布尔型关联规则;性别==avg(收入)=2300涉及收入数值类型所数值型关联规则

2. 基于规则数据抽象层单层关联规则层关联规则

单层关联规则所变量都没考虑现实数据具同层;层关联规则数据层性已经进行充考虑

例:IBM台式机=Sony打印机细节数据单层关联规则;台式机=Sony打印机较高层细节层间层关联规则

3. 基于规则涉及数据维数关联规则单维维

单维关联规则我涉及数据维用户购买物品;维关联规则要处理数据涉及维换另句单维关联规则处理单属性些关系;维关联规则处理各属性间某些关系

例:啤酒=尿布条规则涉及用户购买物品;性别==职业=秘书条规则涉及两字段信息两维条关联规则

给关联规则类面析程我考虑某具体适用于哪类规则挖掘某类规则用哪些同进行处理

3.关联规则挖掘算

3.1经典频集

Agrawal等于1993[1]首先提挖掘顾客交易数据库项集间关联规则问题其核基于频集理论递推诸研究员关联规则挖掘问题进行量研究工作包括原算进行优化引入随机采、并行思想等提高算挖掘规则效率;提各种变体泛化关联规则、周期关联规则等关联规则应用进行推广

3.1.1核算

Agrawal等[1]1993设计基本算提挖掘关联规则重要 — 基于两阶段频集思想关联规则挖掘算设计解两问题:

1) 找所支持度于支持度项集(Itemset)些项集称频集(Frequent Itemset)

2) 使用第1步找频集产期望规则

第2步相简单点给定频集Y=I1I2...Ikk32Ij∈I产包含集合{I1I2...Ik}项所规则(k条)其每条规则右部项(即形[Y-Ii]TIi"1£i£k)采用[4]规则定义旦些规则些于用户给定信度规则才留于规则右部含两项规则其工作进行研究本文面考虑种情况

所频集使用递推其核思想:

(1) L1 = {large 1-itemsets};

(2) for (k=2; Lk-11F; k++) do begin

(3) Ck=apriori-gen(Lk-1); //新候选集

(4) for all transactions t?D do begin

(5) Ct=subset(Ck,t); //事务t包含候选集

(6) for all candidates c? Ct do

(7) c.count++;

(8) end

(9) Lk={c? Ck |c.count3minsup}

(10) end

(11) Answer=èkLk;

首先产频繁1-项集L1频繁2-项集L2直某r值使Lr空算停止第k循环程先产候选k-项集集合CkCk每项集两项同属于Lk-1频集做(k-2)-连接产Ck项集用产频集候选集频集Lk必须Ck集Ck每元素需交易数据库进行验证决定其否加入Lk验证程算性能瓶颈要求扫描能交易数据库即频集包含10项需要扫描交易数据库10遍需要I/O负载

论文[6]Agrawal等引入修剪技术(Pruning)减候选集Ck由显著改进所频集算性能算引入修剪策略基于性质:项集频集且仅所集都频集Ck某候选项集(k-1)-集属于Lk-1则项集修剪掉再考虑修剪程降低计算所候选集支持度代价文[6]引入杂凑树(Hash Tree)效计算每项集支持度

3.1.2频集算几种优化

虽Apriori算自身已经进行定优化实际应用存令满意于相继提些优化

1. 基于划Savasere等[14]设计基于划(partition)算算先数据库逻辑几互相交块每单独考虑块并所频集产频集合并用所能频集计算些项集支持度块选择要使每块放入主存每阶段需扫描算确性由每能频集至少某块频集保证面所讨论算高度并行每块别配给某处理器频集产频集每循环结束处理器间进行通信产全局候选k-项集通通信程算执行间主要瓶颈;另面每独立处理器频集间瓶颈其处理器间共享杂凑树产频集更关于频集并行化[2,11,17]找

2. 基于hash高效产频集基于杂凑(hash)算由Park等[10]提通实验我发现寻找频集主要计算频繁2-项集LkPark等利用性质引入杂凑技术改进产频繁2-项集

3. 基于采基于前遍扫描信息仔细作组合析改进算Mannila等[8]先考虑点认采发现规则效途径随由Toivonen[16]进步发展思想先使用数据库抽取采些整数据库能立规则数据库剩余部验证结Toivonen算相简单并显著减少I/O代价缺点产结精确即存所谓数据扭曲(data skew)布同页面数据高度相关能能表示整数据库模式布由导致采5%交易数据所花费代价能同扫描遍数据库相近LinDunham[7]讨论反扭曲(Anti-skew)算挖掘关联规则引入技术使扫描数据库数少于2算使用采处理收集关数据数减少扫描遍数

Brin等[4]提算使用比传统算少扫描遍数发现频集同比基于采使用更少候选集些改进算低层效率具体考虑计算k-项集旦我认某(k+1)-项集能频集并行计算(k+1)-项集支持度算需要总扫描数通少于频集项数使用杂凑技术并提产相关规则(Correlation Rules)新基于[3]工作基础

4. 减少交易数减少用于未扫描事务集基本原理事务包含度k项集则必包含度k+1项集我些事务移遍扫描要进行扫描事务集数AprioriTid基本思想

3.2其频集挖掘

面我介绍都基于Apriori频集即使进行优化Apriori些固缺陷克服:

1) 能产量候选集度1频集10000候度2候选集数超10M要规则候要产间元素巨量

2) 稀信息进行析由于频集使用参数minsup所于minsup事件进行析;minsup设低值算效率难处理问题

面介绍两种别用于解决两问题

[18]提解决问题1种采用种FP-growth采用治策略:经第扫描数据库频集压缩进棵频繁模式树(FP-tree)同依保留其关联信息随我再FP-tree化些条件库每库度1频集相关再些条件库别进行挖掘原始数据量候结合划,使FP-tree放入主存实验表明FP-growth同度规则都适应性同效率较apriori算巨提高

第二问题基于想:apriori算关系都频繁现实际应用我能需要寻找些高度相关元素即使些元素频繁现apriori算起决定作用支持度我现信度放第位挖掘些具非高信度规则[19]介绍于问题解决整算基本三步骤:计算特征、候选集、滤候选集三步骤关键计算特征Hash使用考虑候几衡量坏指数:空效率、错误率遗漏率基本两类:Min_Hashing(MH)Locality_Sensitive_Hashing(LSH)Min_Hashing基本想:条记录k1字段位置作Hash函数Locality_Sentitive_Hashing基本想:整数据库用种基于概率进行类使相似列起能性更相似列起能性较我再两比较MH遗漏率零错误率由k严格控制空效率相较差LSH遗漏率错误率同降低空效率却相所应该视具体情况定实验数据说明种确能产些用规则

3.3层维关联规则挖掘

随着数据仓库OLAP技术研究深入预见量数据经整合、预处理存入数据仓库前数数据仓库应用都进行统计、建立维及OLAP析工作随着数据挖掘研究深入已经OLAP数据挖掘相结合[20,21]

首先效数据挖掘应该进行探索性数据析用户往往希望能数据库穿行选择各种相关数据同细节层进行析各种同形式呈现知识基于OLAP挖掘提供同数据集、同细节挖掘进行切片、切块、展、滤等各种规则操作再加些视化工具能提高数据挖掘灵性能力接着我看层维关联规则定义

层关联规则:

于应用说由于数据布散性所难数据细节层发现些强关联规则我引入概念层较高层进行挖掘虽较高层规则能更普通信息于用户说普通信息于另用户却未必所数据挖掘应该提供种层进行挖掘功能

层关联规则类:根据规则涉及层层关联规则同层关联规则层间关联规则

层关联规则挖掘基本沿用支持度-信度框架支持度设置问题些要考虑东西

同层关联规则采用两种支持度策略:

1) 统支持度于同层都使用同支持度于用户算实现说都比较容易弊端显

2) 递减支持度每层都同支持度较低层支持度相较同利用层挖掘信息进行些滤工作

层间关联规则考虑支持度候应该根据较低层支持度定

维关联规则:

我研究基本都同字段值间关系比用户购买物品用维数据库语言单维或者叫维内关联规则些规则般都交易数据库挖掘于维数据库言类维关联规则例:

龄(X20...30)ù职业(X,)== 购买(X笔记本电脑)

我涉及三维数据:龄、职业、购买

根据否允许同维重复现细维间关联规则(允许维重复现)混合维关联规则(允许维规则左右同现)

龄(X20...30)ù购买(X笔记本电脑) == 购买(X打印机)

规则混合维关联规则

挖掘维间关联规则混合维关联规则候要考虑同字段种类:种类型数值型

于种类型字段原先算都处理于数值型字段需要进行定处理才进行处理数值型字段基本几种:

1) 数值字段些预定义层结构些区间都由用户预先定义规则叫做静态数量关联规则

2) 数值字段根据数据布些布尔字段每布尔字段都表示数值字段区间落其则1反0种态规则叫布尔数量关联规则

3) 数值字段些能体现含义区间考虑数据间距离素规则叫基于距离关联规则

4) 直接用数值字段原始数据进行析使用些统计数值字段值进行析并且结合层关联规则概念层间进行比较些用规则规则叫层数量关联规则

OLAP挖掘层、维关联规则自程OLAP本身基础层维析工具没使用数据挖掘技术前OLAP能做些简单统计能发现其些深层关系规则我OLAPDataMining技术结合起形新体系OLAM(On-Line Analytical Mining)[20]

4关联规则价值衡量

我用数据挖掘算些结数据挖掘系统何知道哪些规则于用户说用、价值两层面:用户主观层面系统客观层面

4.1系统客观层面:

算都使用支持度-信度框架结构产些错误结看例:

假设提供早餐零售商调查4000名早晨进行运结2200名打篮球2750名晨跑1800名打篮球、晨跑设minsup40%minconf60%我关联规则:

打篮球T晨跑 (1)

条规则其实错误晨跑比例68%甚至于60%打篮球晨跑能否定关联即我考虑关联:

打篮球T()晨跑 (2)

虽条规则支持度信度都比条蕴涵向关联规则(1)低更精确 我支持度信度设足够低我两条矛盾规则另面我些参数设足够高我能精确规则总没支持度信度组合产完全确关联

于引入兴趣度用修剪趣规则即避免错觉关联规则般条规则兴趣度基于统计独立性假设真强度与期望强度比许应用已发现要仍支持度作初项集产主要决定素要支持度设足够低使丢失任何意义规则或者冒丢失些重要规则风险;前种情形计算效率问题种情形则能丢失用户观点看意义规则问题

[12]作者给兴趣规则定义(R-interesting)[13]作改进[10]事件依赖性统计定义扩展兴趣度定义;[15]定义否定关联规则兴趣度

除兴趣度作修剪价值规则工具现已许其工作重新认识项集Brin等[3]考虑相关规则[4]讨论蕴涵规则(implication rule)规则蕴涵强度[0,¥]间变化其蕴涵强度1表示完全关规则¥表示完备规则蕴涵强度于1则表示更期望存性

另度量值——收集强度(collective strength)[22]定义设想使用于期望值发现意义关联规则项集收集强度[0,¥]间数值其0表示完备否定相关性值¥表示完备相关性详细讨论[10]找

4.2用户主观层面:

面讨论基于系统面考虑规则用与否终取决于用户觉用户决定规则效性、行性所我应该用户需求系统更加紧密结合起

采用种基于约束(consraint-based)[21]挖掘具体约束内容:

1) 数据约束用户指定哪些数据进行挖掘定全部数据

2) 指定挖掘维层用户指定数据哪些维及些维哪些层进行挖掘

3) 规则约束指定哪些类型规则我所需要引入模板(template)概念用户使用确定哪些规则令兴趣哪些则:条规则匹配包含模板(inclusive template)则令兴趣条规则匹配限制模板(rextrictive template)则认缺乏兴趣

其些条件算紧密结合即提高效率使挖掘目更加明确化其:

Kleinberg等工作希望建立套理论判断所模式价值认问题仅能微观经济框架解决模型提发展向引入并研究新优化问题——段(Segmentation)问题框架包含些标准组合类问题模型根据基本目标函数挖掘数据价值提供特殊算视角显示面导具体优化问题广泛应用领域

[5]Korn等利用猜测误差(使用均根定义)作些给定数据集所发现规则处(goodness)度量所定义比例规则规则:

顾客数别花费 1 : 2 : 5钱面包:牛奶:奶油

通确定未知(等价隐藏丢失)值比例规则用作决策支持

转载

-

关联规则挖掘算法的介绍

学号:17020110019    姓名:高少魁

【嵌牛导读】关联规则挖掘算法是数据挖掘中的一种常用算法,用于发现隐藏在大型数据集中令人感兴趣的频繁出现的模式、关联和相关性。这里将对该算法进行简单的介绍,之后通过Apriori算法作为实例演示算法执行结果。

【嵌牛鼻子】数据挖掘    关联规则挖掘    python

【嵌牛正文】

一、算法原理

1、基本概念

关联规则用于发现隐藏在大型数据集中令人感兴趣的频繁出现的模式、关联和相关性。 而 Apriori算法则是经典的挖掘频繁项集的关联规则算法,它通过层层迭代来寻找频繁项集,最后输出关联规则:首先扫描数据集,得到 1-频繁项集,记为 L1,通过合并 L1得到 2-频繁项集 L2,再通过 L2找到 L3,如此层层迭代,直到找不到频繁项集为止。

在Apriori算法中,定义了如下几个概念:

⚫ 项与项集 :设 I={i1,i2,…,im}是由 m个不同项构成的集合,其中的每个 ik(k=1,2,…,m)被称为一个项 (Item),项的集合 I被称为项集和,即项集。在实验中,每一条购物记录可以被看做 一个项集,用户购买的某个商品即为一个项。

⚫ 事务与事务集:事务 T是项集 I的一个子集,而事务的全体被称为事务集。

⚫ 关联规则:形如 A=B的表达式,其中, A和 B都属于项集 I,且 A与 B不相交。

⚫ 支持度:定义如下 support(A=B) = P(A B),即 A和 B所含的项在事务集中同时出现的概率。

⚫ 置信度:定义如下 confidence(A⇒B)=support(A⇒B)/support(A)=P(A B)/P(A)=P(B|A),即如果事务包含 A,则事务中同时出现 B的概率。

⚫ 频繁项集:如果项集 I的支持度满足事先定义好的最小支持度阈值(即 I的出现频度大于相应的最小出现频度阈值),则 I是频繁项集。

⚫ 强关联规则:满足最小支持度和最小置信度的关联规则,即待挖掘的关联规则。

根据以上概念,要实现关联规则的挖掘,首先要找到所有的频繁项集,之后找出强关联规则(即通过多次扫描数据集,找出频繁集,然后产生关联规则)。

2、挖掘频繁项集

在该步骤中有两个较为重要的部分 :连接和修剪。连接步骤即使用k-1频繁项集,通过连接得到 k-候选项集,并且只有相差一个项的项集才能进行连接,如 {A,B}和 {B,C}连接成为 {A,B,C}。修剪步骤基于一个性质:一个 k-项集,如果它的一个 k-1项集(子集)不是频繁的,那么它本身也不可能是频繁的。 因此可以基于这个性质,通过判断先验性质来对候选集进行修剪。

3、产生关联规则

经过连接和修剪之后,即找到了所有的频繁项集,此时可以在此基础上产生关联规则,步骤如下

(1)对于每个频繁项集 l,产生 l的所有非空子集(这些非空子集一定是频繁项集);

(2)对于 l的每一个非空子集 x,计算 confidence(x = (l-x)),如果 confidence(x = (l-x)) confmin,那么规则 x = (l-x)”成立。

二、算法设计

1、数据集

通过语句 import xlrd导入相关的库来进行数据的读取 。数据内容为十条购物记录 ,每条购物记录有若干个商品,表示某个顾客的购买记录 ,如图

对于数据加载部分 使用了 xlrd库中的函数 open_workbook来 打开一个表格文件,使用sheet_by_index函数得到一个工作表, row_values函数即可读取表格中的内容。由于每个购物记录的商品数不一定相同,导致读取的内容含有空格 (’ ’),因此对数据进行删减以得到紧凑的数据 ,最终读取数据的结果以列表的形式返回。

2、连接

对于连接部分,主要目标是根据已有的k-1频繁项集生成 k-候选频繁项集。算法步骤为:首先将项集中的项按照字典顺序排序,之后将 k-1项集中两个项作比较,如果两个项集中前 k-2个项是相同的,则可以通过或运算(|)将它们连接起来。

3、修剪

修剪操作主要使用一个判断函数,通过传入连接操作后的项集和之前的k-1频繁项集,对新的项集中的每一个项的补集进行判断,如果该补集不是 k-1频繁项集的子集,则证明新的项集不满足先验性质,即一个频繁项集的所有非空子集一定是频繁的 ,否则就满足先验形式。返回布尔类型的参数来供调用它的函数作判断。

经过连接和修剪步骤之后,项基要成为频繁项集还必须满足最小支持度的条件,笔者设计了generateFrequentItems函数来对连接、修剪后产生的 k-候选项集进行判断,通过遍历数据集,计算其支持度,满足最小支持度的项集即是 一个频繁项集,可将其返回。

以上,经过不断的遍历、连接、修剪、删除,可将得到的所有结果以列表形式返回。笔者还设计了字典类型的变量 support_data,以得到某个频繁项集及其支持度 。

4、挖掘关联规则

generateRules函数用来挖掘关联规则,通过传入 最小置信度、 频繁项集及其 支持度来生成规则 。根据定理:对于频繁项集 l的每一个非空子集 x,计算 confidence(x = (l-x)),如果 confidence(x = (l-x)) confmin,那么规则 x = (l-x)”成立,因此,该函数重点在扫描频繁项集,得到每一个子集,并计算置信度,当置信度满足条件(即大于等于最小置信度)时,生成一条规则。在函数中,使用了元组来表示一条规则,元组中包含 x、 l-x以及其置信度 ,最后返回生成的所有规则的列表。

三、算法执行结果

设置***频繁项集数k为 3,最小支持度为 0.2,最小置信度为 0.8 使用 pycharm运行程序 ,得到以下结果:

由图中结果可以看出,对于频繁 1-项集,有五个满足的项集,频繁 2-项集有 6个,频繁 3-项集有 2个,它们都满足支持度大于或等于最小支持度 0.2。根据频繁项集,程序得到的关联规则有三条,即 {面包 }={牛奶 },,{鸡蛋 }={牛奶 },,{面包,苹果 }={牛奶 其中,这些规则的置信度都是 1.0,满足大于或等于最小置信度 0.8的条件 。

四、程序源码

关联规则

关联规则挖掘可以让我们从数据集中发现项与项(item 与 item)之间的关系 ,它在我们的生活中有很多应用场景,“购物篮分析”就是一个常见的场景。

下面是几名客户购买的商品列表:

    支持度是个百分比,它指的是 某个商品组合出现的次数与总次数之间的比例 。支持度越高,代表这个组合出现的频率越大。

在这个例子中,我们能看到“牛奶”出现了 4 次,那么这 5笔订单中“牛奶”的支持度就是 4/5=0.8。

同样“牛奶 + 面包”出现了 3 次,那么这 5 笔订单中"牛奶 + 面包”的支持度就是 3/5=0.6。

以此类推,如果我们有三个想分析关联性的数据X,Y和Z,则对应的支持度为:

    它指的就是当你购买了商品 X,会有多大的概率购买商品 Y,在上面这个例子中:

置信度(牛奶→啤酒)=2/4=0.5,代表如果你购买了牛奶,有多大的概率会购买啤酒?

置信度(啤酒→牛奶)=2/3=0.67,代表如果你购买了啤酒,有多大的概率会购买牛奶?

我们能看到,在 4 次购买了牛奶的情况下,有 2 次购买了啤酒,所以置信度 (牛奶→啤酒)=0.5,而在 3 次购买啤酒的情况下,有 2 次购买了牛奶,所以置信度(啤酒→牛奶)=0.67。

所以说置信度是个条件概念,就是说 在 X 发生的情况下,Y 发生的概率是多少 。

也可以以此类推到多个数据的关联置信度,比如对于三个数据X,Y,Z,则X对于Y和Z的置信度为:

    我们在做商品推荐的时候,重点考虑的是提升度,因为提升度代表的是 “商品 A 的出现,对商品 B 的出现概率提升的”程度 。

提升度表示含有Y的条件下,同时含有X的概率,与X总体发生的概率之比,即:

提升度1:强关联规则,代表有提升

提升度=1:无效强关联规则,代表无提升

提升度=1:X和Y相互独立

推荐算法之模型协同过滤(1)-关联规则

关联规则是数据挖掘中的典型问题之一,又被称为购物篮分析,这是因为传统的关联规则案例大多发生在超市中,例如所谓的啤酒与尿布传说。事实上,“购物篮”这个词也揭示了关联规则挖掘的一个重要特点:以交易记录为研究对象,每一个购物篮(transaction)就是一条记录。关联规则希望挖掘的规则就是:哪些商品会经常在同一个购物篮中出现,其中有没有因果关系。为了描述这种“经常性”及“因果关系”,分析者定义了几个指标,基于这些指标来筛选关联规则,从而得到那些不平凡的规律。

(1)计算支持度

支持度计数:一个项集出现在几个事务当中,它的支持度计数就是几。例如{Diaper, Beer}出现在事务 002、003和004中,所以它的支持度计数是3

支持度:支持度计数除于总的事务数。例如上例中总的事务数为4,{Diaper, Beer}的支持度计数为3,所以它的支持度是3÷4=75%,说明有75%的人同时买了Diaper和Beer。

(2)计算置信度

置信度:对于规则{Diaper}→{Beer},{Diaper, Beer}的支持度计数除于{Diaper}的支持度计数,为这个规则的置信度。例如规则{Diaper}→{Beer}的置信度为3÷3=100%。说明买了Diaper的人100%也买了Beer。

一般地,关联规则被划分为动态推荐,而协同过滤则更多地被视为静态推荐。

所谓动态推荐,就是推荐的基础是且只是当前一次(最近一次)的购买或者点击。譬如用户在网站上看了一个啤酒,系统就找到与这个啤酒相关的关联规则,然后根据这个规则向用户进行推荐。而静态推荐则是在对用户进行了一定分析的基础上,建立了这个用户在一定时期内的偏好排序,然后在这段时期内持续地按照这个排序来进行推荐。由此可见,关联规则与协同过滤的策略思路是完全不同的类型。

事实上,即便在当下很多能够拿到用户ID的场景,使用动态的关联规则推荐仍然是值得考虑的一种方法(尤其是我们经常把很多推荐方法的结果综合起来做一个混合的推荐),因为这种方法的逻辑思路跟协同过滤有着本质的不同,问题似乎仅仅在于:个人的偏好到底有多稳定,推荐到底是要迎合用户的长期偏好还是用户的当下需求。

挖掘关联规则主要有Apriori算法和FP-Growth算法。后者解决了前者由于频繁的扫描数据集造成的效率低下缺点。以下按照Apriori算法来讲解。

step 1: 扫描数据集生成满足最小支持度的频繁项集。

step 2: 计算规则的置信度,返回满足最小置信度的规则。

如下所示,当用户购买1商品时推荐2、3商品

数据挖掘中的关联规则主要有什么作用

数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。有时并不知道数据库中数据的关联函数,即使知道也是不确定的,因此关联分析生成的规则带有可信度。关联规则挖掘发现大量数据中项集之间有趣的关联或相关联系。Agrawal等于1993年首先提出了挖掘顾客交易数据库中项集间的关联规则问题,以后诸多的研究人员对关联规则的挖掘问题进行了大量的研究。他们的工作包括对原有的算法进行优化,如引入随机采样、并行的思想等,以提高算法挖掘规则的效率;对关联规则的应用进行推广。关联规则挖掘在数据挖掘中是一个重要的课题,最近几年已被业界所广泛研究。

关联规则挖掘的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于关联规则挖掘的算法主要有哪两种 、关联规则挖掘的信息别忘了在本站进行查找喔。

原文链接:http://www.dtcchina.com/news/show-54560.html,转载和复制请保留此链接。
以上就是关于关联规则挖掘 、关联规则挖掘的算法主要有哪两种全部的内容,关注我们,带您了解更多相关内容。
 
标签: 规则 频繁 数据
打赏
 
更多>同类资讯
0相关评论

推荐资讯
网站首页  |  VIP套餐介绍  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  手机版  |  SITEMAPS  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报