r语言实现关联分析 |
您所在的位置:网站首页 › 数据挖掘apriori算法使用 › r语言实现关联分析 |
r语言实现关联分析–关联规则挖掘
关联分析:
引子: 我们一般把一件事情发生,对另一间事情也会产生影响的关系叫做关联。而关联分析就是在大量数据中发现项集之间有趣的关联和相关联系(形如“由于某些事件的发生而引起另外一些事件的发生”)。 我们的生活中有许多关联,一个典型例子是购物篮分析。该过程通过发现顾客放入其购物篮中的不同商品之间的联系,分析顾客的购买习惯。通过了解哪些商品频繁地被顾客同时购买,这种关联的发现可以帮助零售商制定营销策略。其他的应用还包括价目表设计、商品促销、商品的排放和基于购买模式的顾客划分。 关联分析的基本概念: 关联规则是指形如 x→y 的形式,x 和 y 分别成为关联规则的 前项 和 后项。关联规则挖掘的数据是事务数据集,它包含事务ID和项的子集两个属性。(类似下面的数据框) 关联分析有两个目标: 1.发现频繁项集(频繁项集是满足最小支持度要求的项集,它给出经常在一起出现的元素项) 2.发现关联规则(关联规则意味着元素项之间“如果…那么…”的关系) 常用的关联规则挖掘算法有Aprior算法 Apriori算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。Apriori算法可挖掘出关联规则 Apriori算法Apriori定律1:如果某个项集是频繁的,那么它的所有子集也是频繁的 Apriori定律2:如果某个项集是非频繁的,那么它的所有超集也是非频繁的 Apriori定律3:基于此,Apriori算法从单元素项集开始,通过组合满足最小支持度的项集来形成更大的集合 两个步骤:1.通过迭代找出事务数据集中所有频繁项集,即支持度不低于设定阈值的项集。 2.利用频繁项集构造出满足用户最小置信度的关联准则,利用支持度对候选项集进行剪枝。 此处以示例事务数据集演示手动计算过程,设置最小支持度阈值minsup=0.3.从生成c1开始,到不能找到任何频繁k项集为止,过程如下所示。
此时便达到了关联分析的第一个目标:发现频繁项集。接着要寻找(构造)关联规则 关联规则:对每个频繁项集L,产生L的非空真子集,对L的每个非空真子集S,若都能满足置信度大于等于给定的最小置信度的情况下,即C(S→CS)≧min-conf,(CS表示S在L中的补集),那么就是强关联规则。。 对于L3,它的非空自己为{B},{C},{E},{B,C},{B,E},{C,E},假设置信度min-conf=0.5,则获得的关联规则及置信度如下 Apriori算法流程图: r语言中,arules包主要用于挖掘频繁项集和关联规则,该包中的apriori函数可以实现这个算法。 下面是函数定义及参数说明 函数定义: apriori(data,parameter=NULL,appearance=NULL,control=NULL)
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |