精华内容
下载资源
问答
  • 关联规则基本概念

    千次阅读 2014-09-03 14:54:25
    基本概念表1:关联规则的简单例子 例子 TID 网球拍 网 球 运动鞋 羽毛球 1 1 1 1 0 ...

    支持度(Support):

      Support(A->B)=P(A U B)。支持度揭示了A与B同时出现的概率。如果A与B同时出现的概率小,说明A与B的关系不大;如果A与B同时出现的非常频繁,则说明A与B总是相关的。

    置信度(Confidence):

    Confidence(A->B)=P(A | B)。置信度揭示了A出现时,B是否也会出现或有多大概率出现。如果置信度度为100%,则A和B可以捆绑销售了。如果置信度太低,则说明A的出现与B是否出现关系不大。

        示例:某销售手机的商场中,70%的手机销售中包含充电器的销售,而在所有交易中56%的销售同时包含手机和充电器。则在此例中,支持度为56%,置信度为70%。


    根据韩家炜等观点,关联规则定义为:
    假设
    的集合。给定一个交易数据库D,其中每个事务(Transaction)t是I的非空子集,即,每一个交易都与一个唯一的标识符TID(Transaction ID)对应。关联规则在D中的支持度(support)是D中事务同时包含X、Y的百分比,即概率置信度(confidence)是D中事务已经包含X的情况下,包含Y的百分比,即条件概率。如果满足最小支持度阈值最小置信度阈值,则认为关联规则是有趣的。这些阈值是根据挖掘需要人为设定。

                            基本概念表1:关联规则的简单例子

    例子

    TID
    网球拍
    网 球
    运动鞋
    羽毛球
    1
    1
    1
    1
    0
    2
    1
    1
    0
    0
    3
    1
    0
    0
    0
    4
    1
    0
    1
    0
    5
    0
    1
    1
    1
    6
    1
    1
    0
    0
    用一个简单的例子说明。表1是顾客购买记录的数据库D,包含6个事务。项集I={网球拍,网球,运动鞋,羽毛球}。考虑关联规则(频繁二项集):网球拍与网球,事务1,2,3,4,6包含网球拍,事务1,2,6同时包含网球拍和网球,X^Y=3, D=6,支持度(X^Y)/D=0.5;X=5, 置信度(X^Y)/X=0.6。若给定最小支持度α = 0.5,最小置信度β = 0.6,认为购买网球拍和购买网球之间存在关联

    展开全文
  • 数据挖掘定义,数据挖掘分类,数据挖掘常用技术,数据挖掘和机器学习的区别,数据挖掘过程,数据挖掘面临的问题,关联规则,购物篮分析基本概念,适用场景,相关概念,操作步骤,以及购物篮分析的编码实现。
    数据挖掘定义
    • 数据挖掘指的是从大量数据中挖掘出隐含的、先前未知的、对决策有潜在价值的知识和规则的高级处理过程。通过数据挖掘,有价值的知识、规则或者高层次的信息就能够从数据库的相关数据集合中抽取出来,并以不同的形式、角度进行显示,从而能够得到一个丰富的、可靠的知识获取资源库。比如:超市的经营者希望将经常被同时购买的商品放到一起,从而提高销售额;保险公司希望购买保险的客户具有哪些特征,从而可以为其它非保险用户推荐保险;医学上可能期望从成千上万的病历中找出某种疾病的某些特征,从而为治愈这类疾病提供一些方法。
    • 数据挖掘是面向应用的,包含了:简单的数据检索查询、微观乃至宏观的统计/分析/综合/推理、发现事件/样本之间的相互关系、指导问题的求解、未来的预测。
    • 数据挖掘定义:通过特定的算法,在可接受的计算效率限制内,从数据库中辨别有效的、新颖的、潜在有用的、最终可理解的模式的过程。
    数据挖掘分类

    按照数据挖掘的方法可以将数据挖掘分为:

    • 统计方法:判别式方法、探索性方法等
    • 机器学习方法:回归分析、聚类分析、分类分析等
    • 神经网络方法:传统神经网络、卷积神经网络、循环神经网络等

    按照挖掘任务来区分的话,可以将数据挖掘区分为:

    • 关联规则挖掘:也常常称为购物篮分析,通常用于识别一些经常出现的商品集合和规则,其识别结果将用于指导交叉销售
    • 预测分析:该算法通常需要输入一个时间序列的数据集,考虑这些数据样本之间的顺序关系,需要考虑数据的基本趋势、周期性等问题,比如:股市明日股值是多少
    • 序列分析:用于在一系列离散的序列数据间发现模型,比如:DNA的序列模型、用户的购买商品序列(先购买计算机还是先购买音响)
    数据挖掘常用技术
    • 神经网络
    • 决策树
    • Logistic
    • SVM
    • 最近邻技术
    • 规则归纳
    数据挖掘和机器学习的区别
    • 机器学习主要针对特定模式的数据进行学习,也就是说在算法模型构建前,数据的模式特征属性已经是存在了的
    • 数据挖掘则是从实际的海量数据源中直接抽取知识,依赖既定的业务领域知识来进行模型的构建
    • 实际上数据挖掘中,常用的技术基本上都是机器学习的相关算法
    数据挖掘过程

    数据准备

    • 数据集成:将多个数据源的数据进行合并处理,解决语义模糊性问题,处理数据中的遗漏和清洗数据等
    • 数据选择:辨别出需要分析的数据集合,缩小处理范围,提供数据挖掘的质量
    • 数据预处理:为了提高挖掘质量

    数据挖掘

    • 做出假设
    • 选择合适的工具/算法
    • 进行挖掘操作,得到知识
    • 证实发现的知识是否符合假设

    结果表达和解释

    数据挖掘面临的问题
    • 数据是动态的而且数据量庞大,数据存在着噪声、不确定性、信息丢失、信息冗余以及数据分布稀疏等问题
    • 现在的理论和算法还有待发展和完善
    • 知识的表达形式现在还没有形成一个标准
    • 目前的数据挖掘的效果还不尽人意
    关联规则

    关联规则(Association Rule)是数据挖掘中最典型的工作之一,也是现阶段来讲数据挖掘产生利益价值的一个比较核心的技术,也称为购物篮分析。

    购物篮分析基本概念

    购物篮分析(Market Basket Analysis,MBA)是一种数据挖掘技术,主要目的是通过购物篮中的商品信息揭示不同商品之间的相似度。MBA分析可以帮助我们找到可能会一起购买的商品,我们将相似度最相近的商品放到一起会增加商品被购买的机会,从而使顾客购买更多的商品。
    定义:通过两件商品同时出现的频率来表示相似度,如果出现的频率越高,那么认为这两件商品的关联性越高。

    购物篮分析适用场景
    • 推荐系统
    • 精准营销
    • 超市购物分析
    • 电商网站购买情况分析
    • 医疗保险反欺诈识别分析
    购物篮分析相关概念
    • 交易集:包含所有数据的一个数据集合,数据集合中的每条数据都是一笔交易
    • 项:交易集中的每个商品被成为一个项
    • 模式/项集(ItemSet):项组合被成为模式/项集
    • 支持度(Support):一个项集在在整个交易集中出现的次数/出现的频度,比如:Support({A,C})=2表示A和C同时出现的次数是2次
    • 最小支持度:交易次数达到最小支持度的情况下,该项集才会被计算
    • 频繁项集:如果项集的支持度大于等于最小支持度,那么该项集被称为频繁项集
    • 置信度(Confidence):关联规则左件和右件同时出现的频繁程度,该值越大,表示同时出现的几率越大
    • 关联规则:LHS–>RHS(Confidence),如果客户购买了左件(LHS),也可能购买右件(RHS),购买的置信度为Confidence
    购物篮分析的步骤
    • 计算频繁项集:从每条交易中获取项集,然后计算项集的支持度,获得频繁项集
    • 产生项的关联规则(置信度):根据每个频繁项集中的子项集的支持度占对应项集的支持度的百分比作为置信度
    购物篮分析的编码实现
    • IDEA中创建基于Maven的Spark Core开发环境的项目
    • 构建模拟数据
    • 编写Spark Core实现购物篮分析
    • 测试运行
    展开全文
  • 关联规则基本概念

    2015-05-22 10:40:50
    分为两步: 1.生成频繁项集 这一阶段找出所有满足最小支持度的项集,找出的这写项集成为频繁项集 ...关联规则挖掘所花费的时间主要是在生成频繁项上,因此找出的频繁项集往往不会很多aprioriFpGrowth

    分为两步:
    1.生成频繁项集
    这一阶段找出所有满足最小支持度的项集,找出的这写项集成为频繁项集
    2.生成规则
    在上一步生成的频繁项集上生成满足最小自信度的规则,产生的规则称为强规则。

    关联规则挖掘所花费的时间主要是在生成频繁项上,因此找出的频繁项集往往不会很多

    apriori

    FpGrowth

    展开全文
  • 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法  我计划整理数据挖掘的基本概念和算法,包括关联规则挖掘、分类、聚类的常用算法,敬请期待。今天讲的是关联规则挖掘的最基本的知识。  关联规则...

    数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法

     我计划整理数据挖掘的基本概念和算法,包括关联规则挖掘、分类、聚类的常用算法,敬请期待。今天讲的是关联规则挖掘的最基本的知识。

     关联规则挖掘在电商、零售、大气物理、生物医学已经有了广泛的应用,本篇文章将介绍一些基本知识和Aprori算法。

     啤酒与尿布的故事已经成为了关联规则挖掘的经典案例,还有人专门出了一本书《啤酒与尿布》,虽然说这个故事是哈弗商学院杜撰出来的,但确实能很好的解释关联规则挖掘的原理。我们这里以一个超市购物篮迷你数据集来解释关联规则挖掘的基本概念:

    TID Items
    T1 {牛奶,面包}
    T2 {面包,尿布,啤酒,鸡蛋}
    T3 {牛奶,尿布,啤酒,可乐}
    T4 {面包,牛奶,尿布,啤酒}
    T5 {面包,牛奶,尿布,可乐}

       表中的每一行代表一次购买清单(注意你购买十盒牛奶也只计一次,即只记录某个商品的出现与否)。数据记录的所有项的集合称为总项集,上表中的总项集S={牛奶,面包,尿布,啤酒,鸡蛋,可乐}。

     一、关联规则、自信度、自持度的定义

      关联规则就是有关联的规则,形式是这样定义的:两个不相交的非空集合X、Y,如果有X-->Y,就说X-->Y是一条关联规则。举个例子,在上面的表中,我们发现购买啤酒就一定会购买尿布,{啤酒}-->{尿布}就是一条关联规则。关联规则的强度用支持度(support)和自信度(confidence)来描述,

       支持度的定义:support(X-->Y) = |X交Y|/N=集合X与集合Y中的项在一条记录中同时出现的次数/数据记录的个数。例如:support({啤酒}-->{尿布}) = 啤酒和尿布同时出现的次数/数据记录数 = 3/5=60%。

      自信度的定义:confidence(X-->Y) = |X交Y|/|X| = 集合X与集合Y中的项在一条记录中同时出现的次数/集合X出现的个数 。例如:confidence({啤酒}-->{尿布}) = 啤酒和尿布同时出现的次数/啤酒出现的次数=3/3=100%;confidence({尿布}-->{啤酒}) = 啤酒和尿布同时出现的次数/尿布出现的次数 = 3/4 = 75%。

      这里定义的支持度和自信度都是相对的支持度和自信度,不是绝对支持度,绝对支持度abs_support = 数据记录数N*support。

      支持度和自信度越高,说明规则越强,关联规则挖掘就是挖掘出满足一定强度的规则。

    二、关联规则挖掘的定义与步骤

      关联规则挖掘的定义:给定一个交易数据集T,找出其中所有支持度support >= min_support、自信度confidence >= min_confidence的关联规则。

      有一个简单而粗鲁的方法可以找出所需要的规则,那就是穷举项集的所有组合,并测试每个组合是否满足条件,一个元素个数为n的项集的组合个数为2^n-1(除去空集),所需要的时间复杂度明显为O(2^N),对于普通的超市,其商品的项集数也在1万以上,用指数时间复杂度的算法不能在可接受的时间内解决问题。怎样快速挖出满足条件的关联规则是关联挖掘的需要解决的主要问题。

      仔细想一下,我们会发现对于{啤酒-->尿布},{尿布-->啤酒}这两个规则的支持度实际上只需要计算{尿布,啤酒}的支持度,即它们交集的支持度。于是我们把关联规则挖掘分两步进行:

      1)生成频繁项集

      这一阶段找出所有满足最小支持度的项集,找出的这些项集称为频繁项集。

      2)生成规则

      在上一步产生的频繁项集的基础上生成满足最小自信度的规则,产生的规则称为强规则。

      关联规则挖掘所花费的时间主要是在生成频繁项集上,因为找出的频繁项集往往不会很多,利用频繁项集生成规则也就不会花太多的时间,而生成频繁项集需要测试很多的备选项集,如果不加优化,所需的时间是O(2^N)。

    三、Apriori定律

      为了减少频繁项集的生成时间,我们应该尽早的消除一些完全不可能是频繁项集的集合,Apriori的两条定律就是干这事的。

      Apriori定律1):如果一个集合是频繁项集,则它的所有子集都是频繁项集。举例:假设一个集合{A,B}是频繁项集,即A、B同时出现在一条记录的次数大于等于最小支持度min_support,则它的子集{A},{B}出现次数必定大于等于min_support,即它的子集都是频繁项集。

      Apriori定律2):如果一个集合不是频繁项集,则它的所有超集都不是频繁项集。举例:假设集合{A}不是频繁项集,即A出现的次数小于min_support,则它的任何超集如{A,B}出现的次数必定小于min_support,因此其超集必定也不是频繁项集。

      利用这两条定律,我们抛掉很多的候选项集,Apriori算法就是利用这两个定理来实现快速挖掘频繁项集的。

    四、Apriori算法

      Apriori是由a priori合并而来的,它的意思是后面的是在前面的基础上推出来的,即先验推导,怎么个先验法,其实就是二级频繁项集是在一级频繁项集的基础上产生的,三级频繁项集是在二级频繁项集的基础上产生的,以此类推。

      Apriori算法属于候选消除算法,是一个生成候选集、消除不满足条件的候选集、并不断循环直到不再产生候选集的过程。

      

      上面的图演示了Apriori算法的过程,注意看由二级频繁项集生成三级候选项集时,没有{牛奶,面包,啤酒},那是因为{面包,啤酒}不是二级频繁项集,这里利用了Apriori定理。最后生成三级频繁项集后,没有更高一级的候选项集,因此整个算法结束,{牛奶,面包,尿布}是最大频繁子集。

      算法的思想知道了,这里也就不上伪代码了,我认为理解了算法的思想后,子集去构思实现才能理解更深刻,这里贴一下我的关键代码:

    复制代码
     1 public static void main(String[] args) {
     2         // TODO Auto-generated method stub
     3         record = getRecord();// 获取原始数据记录
     4         List<List<String>> cItemset = findFirstCandidate();// 获取第一次的备选集
     5         List<List<String>> lItemset = getSupportedItemset(cItemset);// 获取备选集cItemset满足支持的集合
     6 
     7         while (endTag != true) {// 只要能继续挖掘
     8             List<List<String>> ckItemset = getNextCandidate(lItemset);// 获取第下一次的备选集
     9             List<List<String>> lkItemset = getSupportedItemset(ckItemset);// 获取备选集cItemset满足支持的集合
    10             getConfidencedItemset(lkItemset, lItemset, dkCountMap, dCountMap);// 获取备选集cItemset满足置信度的集合
    11             if (confItemset.size() != 0)// 满足置信度的集合不为空
    12                 printConfItemset(confItemset);// 打印满足置信度的集合
    13             confItemset.clear();// 清空置信度的集合
    14             cItemset = ckItemset;// 保存数据,为下次循环迭代准备
    15             lItemset = lkItemset;
    16             dCountMap.clear();
    17             dCountMap.putAll(dkCountMap);
    18         }
    复制代码

      如果想看完整的代码,可以查看我的github,数据集的格式跟本文所述的略有不通,但不影响对算法的理解。

      下一篇将介绍效率更高的算法--FP-Grow算法。

    参考文献:

      [1].Pang-Ning Tan,Michael Steinbach. Introduction to Data Mining.

      [2].HanJiaWei. Data Mining: concept and  techniques.

      感谢关注,欢迎回帖交流。

      转载请注明出处:www.cnblogs.com/fengfenggirl

    展开全文
  • 关联规则挖掘:基本概念

    千次阅读 2017-08-13 18:35:36
    关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来发现事情之间的联系,最早是为了发现超市交易数据库中不同的商品之间的关系。 这里有一则沃尔玛超市的趣闻。沃尔玛曾今对数据...
  • 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法 原文URL:http://www.cnblogs.com/fengfenggirl/p/associate_apriori.html#2752667  我计划整理数据挖掘的基本概念和算法,包括关联规则挖掘、分类、...
  • 数据挖掘系列(1)关联规则挖掘基本概念与Aprior算法 我计划整理数据挖掘的基本概念和算法,包括关联规则挖掘、分类、聚类的常用算法,敬请期待。今天讲的是关联规则挖掘的最基本的知识。  关联规则挖掘在电商、...
  • 出处: fengfenggirl(@...我计划整理数据挖掘的基本概念和算法,包括关联规则挖掘、分类、聚类的常用算法,敬请期待。今天讲的是关联规则挖掘的最基本的知识。 关联规则挖掘在电商、零售、大气物理、生物医学
  • 基本概念 1.关联规则(Association Rules): 关联规则是反映一个事物与其他事物之间的相互依存性和关联性,是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。 2.支持度(support):...
  • 常用的算法有Apriori,FP-Tree,Eclat,灰色关联算法,本篇主要介绍关联规则的一些基本概念和参数。 1.首先介绍一些基本概念 1.1项: 超市用户购买数据库中所保存的所购买的产品称之为项,例如面包,矿泉水,都...
  • 本文介绍数据挖掘中关联分析的基本概念与基本术语。 基本概念与术语 1. 事务: 一条数据也叫一条事务(transaction),数据的ID即事务的ID,简写为TID,表6-1是购物篮事务的例子,可以理解为顾客的购物记录。 2. 二元...
  • 关联规则挖掘(一):基本概念

    万次阅读 2011-12-07 11:04:44
    关联规则挖掘(Association rule mining)是数据挖掘中最活跃的研究方法之一,可以用来发现事情之间的联系,最早是为了发现超市交易数据库中不同的商品之间的关系。 这里有一则沃尔玛超市的趣闻。沃尔玛曾今对数据...
  • 关联规则

    千次阅读 2017-11-13 20:15:55
    1993年,Agrawal等人在首先提出关联规则概念,同时给出了相应的挖掘算法AIS,但是性能较差。1994年,他们建立了项目集格空间理论,并依据上述两个定理,提出了著名的Apriori算法,至今Apriori仍然作为关联规则挖掘的...
  • 关联分析的基本概念

    千次阅读 2018-01-04 13:39:53
    关联分析也是人的一种认知模式,这种关联规则和人的反射类似,就是在认识事物的过程中在认知中建立的关联规则。关联分析是数据挖掘里很重要的部分。1. 频繁模式例如一个超市每天有很多的购物记录,而且消费者的购买...
  • 关联规则挖掘的相关概念

    千次阅读 2010-07-31 09:19:00
    一、关联规则概念 关联规则(association rules)就是从frequent patterns中发现的规律。而frequent patterns就是在数据集中频繁出现的patterns(例如,itemsets, subsequences, substructures)。在实际的...
  • 关联规则与数据分析

    千次阅读 2019-01-13 13:55:59
    关联规则的产生背景2. 基本概念与原理Aprioir算法用SSAS对医疗数据进行关联分析 关联规则 1.关联规则的产生背景 最早是由Agrawal等人提出的(1993)。最初的动机是针对购物篮分析(Basket Analysis)问题提出的,...
  • 一、关联分析的基本概念 关联分析(Association Analysis):在大规模数据集中寻找有趣的关系。 频繁项集(Frequent Item Sets):经常出现在一块的物品的集合。 关联规则(Association Rules):暗示两个物品...
  • 关联规则—Apriori算法—FPTree

    万次阅读 多人点赞 2018-07-19 13:58:56
    1 关联规则 2 频繁项集(Frequent Itemset) 3 关联规则Association Rule 4 关联规则评估指标 5 关联规则挖掘方法: 6 关联规则 Apriori 算法 ▶ 关联规则新指标: [Math Processing Error]liftlift 值 ▶ 关联...
  • 关联规则常用算法

    千次阅读 2020-07-03 15:53:41
    关联规则常用算法   关联规则(Association Rules)是海量数据挖掘(Mining Massive Datasets,MMDs)非常经典的任务,其主要目标是试图从一系列事务集中挖掘出频繁项以及对应的关联规则关联规则来自于一个...
  • 利用关联分析的方法可以发现联系如关联规则或频繁项集。 关联分析需要处理的关键问题: 从大型事务数据集中发现模式可能在计算上要付出很高的代价。所发现的某些模式可能是假的,因为它们可能是偶然发生的。 ...
  • 关联规则挖掘

    千次阅读 2014-10-17 22:44:21
    关联规则是数据挖掘技术的一个活跃的研究方向之一,其反映出项目集之间有意义的关联关系。关联规则可以广泛地应用于各个领域,既可以检验行业内长期形成的知识模式,也能够发现隐藏的新规律。有效地发现、理解和运用...
  • 文章目录关联规则基本思想算法基本过程算法总结 Apriori算法是第一个关联规则挖掘算法,也是最经典的算法。它利用逐层搜索的迭代方法找出数据库中项集的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 115,907
精华内容 46,362
关键字:

关联规则基本概念