arules:频繁项集与关联规则的挖掘

概述

本文是对R中arules包的随包文档“Introduction to arules – A computational environment for mining association rules and frequent item sets”的意译。源文档采用R Markdown撰写,并按如下流程生成本页面:

Created with Raphaël 2.1.2 R Markdown (*.Rmd) R Markdown (*.Rmd) Markdown (*.md) Markdown (*.md) CSDN Markdown CSDN Markdown R 手动调整

重要词语英汉对照表:

英文 汉译
support 支持度
confidence 置信度
lift 提升度
interestingness 兴趣度
transaction 事务
item
superset 超集
subset 子集
itemset/item set 项集
association 关联信息
association rule 关联规则
frequent itemset 频繁项集
maximal frequent itemset 最大频繁项集
frequent closed itemset 频繁闭项集
sample with replacement 放回抽样

基础知识

基本定义

  • ={ i1,i2,,in} n 个二值属性(item)构成的集合。
  • ={t1,t2,,tm} m 事务构成的集合,称为数据库(database),每个事务拥有唯一的ID并包含 的一个子集。
  • XY :表示规则(rule),其中 X,YI 并且 XY= 项集(itemset) X Y 分别称为规则的前提(antecedent)和结论(consequent),或者分别称为左手边(LHS,left-hand-side)和右手边(RHS,right-hand-side)。
  • supp(X) :项集 X 支持度 conf(XY) :规则 XY 置信度1

频繁项集与关联规则的挖掘是一种流行的并经过深入研究的方法,用于发现大规模数据库中变量之间的有趣关系。本文展示了R的arules包,它提供了一种基本工具,用于创建和处理输入数据集,分析输出数据集和输出规则。该包还提供了调用两种快速挖掘算法的接口,它们是Apriori和Eclat算法的流行的C语言版本,由Christian Borgelt实现。这些算法可用于挖掘频繁项集、最大频繁项集、闭频繁项集以及关联规则。

Piatetsky-Shapiro利用不同兴趣度度量,分析和表示从数据库发现的强规则。Agrawal等在强规则的基础上,提出了从事务数据中挖掘关联规则的问题。以超市为例,交易数据集中的规则 { milk,bread}{ butter} 表示:若顾客购买了 milk bread ,也会购买 butter

为了从包含所有可能规则的集合中抽取出感兴趣的规则,可以利用基于各种显著性和兴趣度的度量作为约束条件。最著名约束条件就是支持度和置信度的最小阈值。

发现频繁项集(frequent itemset)可视为非监督学习问题的一种简化形式,称之为模型发现(mode finding)或块搜索(bump hunting)。在这些问题中,每个项视为一个变量。它们的目标是找到模型值(prototype value),使得概率密度估值在取这些值时足够大。然而,对于变量众多的实际应用,概率估计不一定可靠,且计算太复杂。这就是在实际应用中用频繁项集代替概率估计的原因。置信度可解释为概率 P(YX) 的一种估计,它表示事务包含规则的LHS时,从事务中找到规则的RHS的概率。

关联规则(association rule)需要同时满足最小支持度和最小置信度的约束。在支持度的中间值到最低值范围内,通常可从数据库找出大量的频繁项集。支持度的定义保证了频繁项集的所有子集也必是频繁的。因此,只挖掘所有的最大频繁项集(maximal frequent itemset)就够了,这些频繁项集不是其它任何频繁项集的子集。另一种减少挖掘项集数目的方法是只挖掘频繁闭项集(frequent closed itemset)2。若包含项集的所有事务都不包含与该项集相适的超集,则称该项集是闭的。频繁闭项集是最大频繁项集的一个超集(superset)。最大频繁项集的优势不仅在于它可生成所有的频繁项集,而且它们还包含了所有频繁项集的支持度信息,这些信息在数据挖掘过程完成后,对计算额外的兴趣度量(interest measure)起着至关重要的作用(例如,计算所得项集生成的规则的置信度、全置信度)。

当挖掘到过多满足支持度和置信度约束的关联规则时,解决该问题切实可行的方法是利用额外的兴趣度量,进一步过滤或排列这些规则。基于此的一个流行度量是提升度(lift)。规则的提升度定义为

lift(XY)=supp(XY)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值