猪猪のAI笔记
  • README
  • 读书笔记
    • 1.特征工程
      • 1.1.数值空间
      • 1.2.文本数据
      • 1.3.词袋到TF-IDF
      • 1.4.分类变量
      • 1.5.数据降维:PCA
    • 2.自然语言
      • 2.1.处理文本的机器
      • 2.2.词频背后
      • 2.3.神经网络基础
      • 2.4.Word2Vec,词向量推理
      • 2.5.神经网络深入
    • 3.神经网络
      • 3.1.绪论
      • 3.2.机器学习
      • 3.3.线性模型
      • 3.4.前馈神经网络
      • 3.5.卷积神经网络
      • 3.6.循环神经网络
      • 3.7.网络优化
      • 3.8.注意力机制/外部记忆
      • 3.9.无监督学习
    • 4.XGboost
      • 4.1.基础和初探
  • 课程系列
    • CDA III
      • 1.数据挖掘
      • 2.特征工程
      • 3.自然语言
      • 4.神经网络
      • 5.支持向量机
      • 6.集成学习
      • 7.朴素贝叶斯
      • 8.决策树
      • 9.聚类
      • 10.模型评估
      • 11.关联规则
      • 12.计算题知识点
      • 13.计算题分析
    • 题库分析
      • 深度学习
      • 机器学习-01
      • 机器学习-02
      • 机器学习-03
      • 机器学习-04
      • 机器学习-05
      • 机器学习-06
      • 机器学习-07
      • 机器学习-08
      • 机器学习-09
      • 机器学习-10
      • Level III模拟(一)
      • Level III模拟(二)
    • 知识点
      • Transformer模型
      • ELMO,BERT,GPT
      • 正则化之L1,L2
      • 距离详解
    • K-RPA
      • RPA行业展望
      • 命名规范和开发原则
      • 脚本向导编程
      • K-RPA异常处理
      • K-RPA文件/目录操作
      • (高)K-RPA环境
      • (高)K-RPA命名规范和开发原则
      • (高)K-RPA脚本向导编程
      • (实)01:安装K-RPA
      • (实)02:脚本向导编程
      • (实)03:完整案例
      • (实)04:文件和集成
由 GitBook 提供支持
在本页
  • 1. 基本概念
  • 1.1. 支持度/置信度
  • 2. 关联规则
  • 2.1. 算法
  • 2.3. 评估指标
  • 2.4. 关联规则生成
  • 2.5. 关联规则延伸
  • 3. 序列模式
  • 3.1. 概念和评估指标
  • 3.2. Apriori All算法
  • 3.3. PrefixSpan算法实例

这有帮助吗?

  1. 课程系列
  2. CDA III

11.关联规则

1. 基本概念

    从交易数据库中找到频繁挖掘模式,做市场分析。两个指标:

  • 支持度

  • 置信度

1.1. 支持度/置信度

    示例

交易编号
购买项

1000

A,B,C

2000

A,C

3000

A,D

4000

B,E,F

    关联规则以交易为单位,每一个交易通常是一张发票,比如1000购买了三个项目,所以根据上述数据库:

  • Support = Support({A,C}) = 50%

  • Confidence = Support({A,C}) / Support({A}) = 66.6%,买A有三次,有两次是买了C的。

    有时候又将关联规则称为购物篮分析,关联规则描述:

Shirt -> Tie, Support = 13.5%, Confidence = 70%

    如果一个用户买了Shirt,70%的情况都购买了Tie,而这种情况在所有交易中13.5%的情况会发生。上述交易数据库中,如果最小支持度和置信度设置为50%,则有:

  • 关联规则 A -> C,[50%, 66.6%]

  • 关联规则 C -> A,[50%, 100%]

大于阈值即可。

2. 关联规则

2.1. 算法

2.1.1. Apriori算法

    如果所有的项组合都测试一次,其数据量十分巨大,产品组合呈指数增长,所以无法暴力分析,如何在最快速度计算结果。

    Apriori Principle:任何频繁项集的子集也一定会被频繁购买,参考下表:

Frequent Itemset
Support

{A}

75%

{B}

50%

{C}

50%

{A,C}

50%

最小支持度50%,最小置信度50%。

    上述表格中,如果{A,C}满足条件,那么{C}一定会满足条件。步骤:

  1. 找到频繁项集

  2. 根据频繁项集生成关联规则

示例(略)

    另外一个计算示例:

  1. L3 = {abc, abd, acd, ace, bcd}

  2. 构造L4:

    1. abcd = {abc, abd}

    2. acde = {acd, ace}

  3. 移除 acde,因为 ade 并没出现在 L3中。

  4. 留下L4 = {abcd}

    频繁被购买的 k-1 的频繁项目集去产生候选的 k 的频繁项目集,最终会导致扫描数据库多次。所以它的缺点如:

  • 需要多次扫描数据库:产生长度为n长度的项目集,需要扫描n + 1次,浪费时间。

2.1.2. FP-Growth

    可以并行处理频繁项目集的产生:

    FP-Growth的产生方式是从产品维度出发,参考上图两种算法的对比,上图中,L1, L3, L4, L5可以并行执行,而且这个算法最终只会扫描数据库一次。

    步骤:

实际是扫描数据库两次。

  1. 第一次扫描交易数据库,构造一个FP-Tree。

  2. 然后在FP-Tree中做Trimming,去查找对应子树(排序得到精简的FP-Tree)。

  3. 第二次扫描交易数据库,根据精简的FP-Tree执行计算(参考下图)。

    上图是最后购买的FP-Tree的信息,每个节点有出现次数,接下来就可以计算频繁项目集了。

2.3. 评估指标

  • Subjective Measures

  • Objective Measures

    第一个基本规则:最小支持度/最小置信度

    只看置信度和支持度是不够的,所以需要考察上边公式,计算提升度。

  • Lift > 1:正相关(此时支持度和信赖度才会有更好的效果)

  • Lift < 1:负相关

    计算后如下:

2.4. 关联规则生成

    如何生成关联规则?

  • Exhaustive Approach(暴力法产生所有规则)

    • 尝试任意组合。

    • 因为产生的规则太多,且花的时间很多,所以几乎所有的软件或套件都只产生结果是单一项的规则。

  • Improved Approach 1(改进策略1)

    • 从项多的开始产生,避免一些不必要的尝试

  • Improved Approach 2(改进策略2)

    • 从项少的开始尝试,避免一些不必要的尝试

    • 证明同1

2.5. 关联规则延伸

  • Virtual Items:虚拟商品

  • Association Mining:关联规则挖掘

  • Dissociation Rules:反向关联规则

    Dependency Network(依赖式网络)。

3. 序列模式

3.1. 概念和评估指标

    顾客购买商品的顺序:

    引入交易时间,包含交易ID,顾客ID;在结果中,顾客的交易时间不一定要连续,只要先购买然后购买就够了。

  • 先根据ID排序(Customer Id)

  • 再根据交易时间排序(Transaction Time)

3.2. Apriori All算法

    步骤

  1. Sort Phase,按ID和交易时间排序

  2. Litemset Phase,找到大于min_sup_count=2的项

  3. Transformation Phase

  4. Sequence Phase(截图为另外一个例子,描述详细转换流程)

  5. Maximal Phase(上图中最后一步)

3.3. PrefixSpan算法实例

    

上一页10.模型评估下一页12.计算题知识点

最后更新于3年前

这有帮助吗?

产生的候选集太多,10410^4104的 1 项集会生成10710^7107个 2 项集,浪费记忆。

LiftA,B=CorrA,B=P(A∩B)P(A)P(B)Lift_{A,B} = Corr_{A,B} = \frac{P(A \cap B)}{P(A)P(B)}LiftA,B​=CorrA,B​=P(A)P(B)P(A∩B)​

    如图所示,根据提升度,X,YX, YX,Y正相关,X,ZX, ZX,Z负相关,所以X,ZX, ZX,Z是误导的关联规则,即< 1的负相关,都可以不考虑支持度,置信度。

confidence({A,B,C}−>D)=support(A,B,C,D)support(A,B,C)<min⁡confconfidence(\{A,B,C\} -> D) = \frac{support(A,B,C,D)}{support(A,B,C)} < \min confconfidence({A,B,C}−>D)=support(A,B,C)support(A,B,C,D)​<minconf confidence({A,B}−>{C,D})=support(A,B,C,D)support(A,B)≤≤support(A,B,C,D)support(A,B,C)<min⁡conf.confidence(\{A,B\} -> \{C,D\}) = \frac{support(A,B,C,D)}{support(A,B)} \le \le \frac{support(A,B,C,D)}{support(A,B,C)} < \min conf.confidence({A,B}−>{C,D})=support(A,B)support(A,B,C,D)​≤≤support(A,B,C)support(A,B,C,D)​<minconf.