大数据关联规则算法

打印 上一主题 下一主题

主题 511|帖子 511|积分 1533


  • 关联性(Association)

    • 定义:指一个变量能够提供有关另一个变量的信息。
    • 特点:关联性是一个广泛的概念,它可以包罗直接的、间接的、强的或弱的联系。

  • 相关性(Correlation)

    • 定义:指两个变量同时上升或下降的趋势
    • 特点:相关性通常用相关系数来量化,如皮尔逊相关系数,它可以测量变量之间的线性关系强度和方向。
    • 误区:相关性意味着关联性,而不是因果关系;

  • 因果关系(Causality)

    • 定义:指一个变量(原因)直接影响另一个变量(结果)。
    • 特点:因果关系必要通过实行或统计方法来验证,例如随机对照试验(RCT)或使用因果推断模子。
    • 误区:因果关系意味着关联,而不是相关性


关联



  • 定义:关联是两个大概多个变量之间存在着的某种规律,这种规律是可被发现的并且是故意义的。
关联规则(Association Rules)发掘



  • 定义:发掘负责找出给定数据会合数据项之间隐藏的关联关系,形貌数据之间的密切度是关联分析的主要目标。
  • 用途:关联规则用于形貌相关联的事物之间同时有规律发生的知识模式。
应用场景



  • 优化货架商品摆放:根据商品之间的关联性,优化超市或商场的商品摆放。
  • 交织贩卖或捆绑贩卖:利用商品之间的关联性,进行捆绑贩卖或交织贩卖。
  • 搜索词保举:根据用户的搜索习惯,保举相关搜索词。
  • 辨认异常:发现数据中的异常模式,如信用卡敲诈检测。
相关概念



  • 项目(Item):买卖业务数据库中的一个字段,对超市的买卖业务来说一样平常是指一次买卖业务中的一个物品,如:牛奶
  • 事务(Transaction):某个客户在一次买卖业务中,发生的全部项目标聚集:如{牛奶,面包,啤酒}
  • 项集(Item Set):包含若干个项目标聚集(一次事务中的),一样平常会大于0个
  • 支持度(Support):项集{X,Y}在总项会合出现的概率
  • 频仍项集(Frequent Itemset):某个项集的支持度大于设定阈值(人为设定大概根据数据分布和经验来设定),即称这个项集为频仍项集。
  • 置信度(Confidence):在先决条件X发生的条件下,由关联规则{X->Y }推出Y的概率
    (给定X发生的条件下,Y发生的概率。)
  • 提拔度(Lift):表现含有X的条件下同时含有Y的概率,与无论含不含X含有Y的概率之比,用于权衡关联规则的强度。


Apriori算法



  • 提出者:Rakesh Agrawal 和 Ramakrishnan Srikant。
  • 提出时间:1994年。
  • 根本头脑:基于支持度的连接与剪枝技术,有用控制候选项集的增长。
关联规则发掘目标



  • 目标:找出数据会合项与项之间的关系,用于市场分析、商品保举等。
  • 别称:购物篮分析,主要用于零售业中分析顾客的购买模式。
应用案例:啤酒和尿布



  • 故事背景:美国妇女让丈夫下班后购买尿布,丈夫往往会同时购买啤酒。
  • 商业应用:将啤酒和尿布摆放在一起,增加顾客同时购买这两种商品的时机。
  • 结果:进步了啤酒和尿布的销量,成为商家推崇的营销策略。
Apriori 算法利用了一个条理次序搜索的循环方法来完成频仍项集的发掘工作。在这个算法中 Agrawal 给出了一个关于频仍模式的著名性子-Apriori 性子。
Apriori性子



  • Apriori性子:频仍项集的全部非空子集也必须是频仍的。
  • 推论1:非频仍项集的超集肯定是非频仍项集。
  • 推论2:强关联规则的子规则也是强关联规则。
Apriori算法步骤


  • 产生频仍项集

    • 第一阶段

      • 全部单独的项作为候选项集 ( C1 )。
      • 剔除支持度小于最小支持度阈值的项,形成频仍1-项集 ( L1 )。

    • 第二阶段

      • ( L1 ) 通过自连接形成候选项集 ( C2 )。
      • 扫描数据库,剔除支持度小于阈值的项,形成频仍2-项集 ( L2 )。

    • 后续阶段

      • 重复自连接和剔除过程,形成更高阶的候选项集 ( C3, C4, \ldots ) 直到无法找到新的频仍项集。


  • 产生关联规则

    • 利用频仍项集 ( L ) 产生关联规则。
    • 满足可信度大于min_conf 的频仍项集产生强关联规则。
    • 由于规则基于频仍项集产生,主动满足最小支持度 ( min_sup )。


Apriori算法实例








生成频仍项集阶段


  • 分割与分布数据

    • MapReduce库将数据集D程度分别为n个数据块,然后发送到m个节点。

  • 格式化数据块

    • 数据块格式化为<Tid, list>对,此中Tid是事务标识符,list是事务中的项目列表。

  • 实行Map任务

    • Map函数扫描每条记录,生成局部频仍1-项集和局部频仍k-项集。

  • 运行Combiner函数

    • 可选的Combiner函数在Map任务后实行,归并Map输出,淘汰网络传输。

  • 实行Reduce任务

    • Reduce任务吸收Map端输出,归并局部频仍项集,生玉成局候选频仍项集。

  • 再次扫描D

    • Map方法读取D中的记录,验证是否存在于全局候选频仍项会合,使用Combiner函数进行局部汇总。

  • 归并Reduce函数输出

    • 归并Reduce输出,与最小支持度阈值比较,输出满足条件的频仍项集。



  • MapReduce框架:通太过布式盘算,优化了频仍项集的生成过程。
  • Map任务:生成局部频仍项集,类似于词频统计。
  • Combiner函数:淘汰网络传输,进步效率,本地归并Map输出。
  • Reduce任务:归并全局候选频仍项集,生成最终频仍项集。
  • 两次扫描:第一次用于生成候选频仍项集,第二次用于验证和汇总。

生成关联规则阶段


  • 文本文件切分

    • 将文本文件的每一行作为单独的切分处置惩罚。
    • 形成键值对<key1, value1>,此中key1 代表该行的偏移量,value1 代表一行文本(频仍项会合的一项)

  • Map函数处置惩罚

    • Map函数扫描每对<key1, value1>。
    • 对每个频仍项集调用规则生成函数,产生全部可能的规则。
    • 规则包罗支持度和置信度,输出为<key2, value2>,此中key2是频仍项会合的一项,value2是该项对应的全部规则(包罗支持度和可信度)。。

  • Reduce函数规约

    • Reduce函数吸收Map函数的全部输出。
    • 对每个频仍项集的规则进行规约,筛选出满足最小置信度阈值的强关联规则。
    • 将最终的关联规则<rule, conf>对存储到HDFS(Hadoop分布式文件体系)。



  • Map任务:处置惩罚文本文件,为每个频仍项集生成候选规则。
  • Reduce任务:筛选有用规则,存储最闭幕果。
  • 规则评估:评估规则的支持度和置信度,确保规则的故意义性和实用性。
  • 存储结果:将生成的关联规则存储在分布式文件体系中,便于后续的访问和分析。



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表