目录

  • 1 第一章 数据仓库概述
    • 1.1 授课安排
    • 1.2 数据仓库及其历史
      • 1.2.1 数据仓库的概念
        • 1.2.1.1 本节视频
      • 1.2.2 数据仓库特征
        • 1.2.2.1 本节视频
    • 1.3 数据仓库系统结构
      • 1.3.1 数据仓库系统的组成
        • 1.3.1.1 本节视频
      • 1.3.2 ETL
        • 1.3.2.1 本节视频
      • 1.3.3 数据仓库和数据集市的关系
      • 1.3.4 元数据及其管理
      • 1.3.5 数据集市和元数据管理视频
    • 1.4 数据仓库系统开发工具
    • 1.5 数据仓库与操作型数据库的关系
      • 1.5.1 本节视频内容
  • 2 第二章 数据仓库设计
    • 2.1 授课安排
    • 2.2 数据仓库设计概述
    • 2.3 数据仓库的规划和需求分析
    • 2.4 数据仓库的建模
    • 2.5 数据仓库的物理模型设计
    • 2.6 数据仓库的部署和维护
  • 3 第三章 OLAP技术
    • 3.1 授课安排
    • 3.2 OLAP概述
    • 3.3 OLAP的多维数据模型
    • 3.4 OLAP实现
  • 4 第四章 数据
    • 4.1 课程资料
  • 5 第五章 数据挖掘概述
    • 5.1 授课安排
    • 5.2 什么是数据挖掘?
    • 5.3 数据挖掘系统
    • 5.4 视频
    • 5.5 数据挖掘过程
  • 6 第六章 关联分析
    • 6.1 授课安排
    • 6.2 关联分析概念
    • 6.3 Apriori算法
    • 6.4 FP-growth树
    • 6.5 多层关联规则
    • 6.6 【扩充知识】机器学习——关联规则——支持度(support)、置信度(confidence)、提升度(Lift)
  • 7 第七章 序列模式挖掘
    • 7.1 序列模式挖掘概述
    • 7.2 AprioriAll算法
    • 7.3 AprioriSome算法
    • 7.4 FreeSpan算法
    • 7.5 PrefixSpan算法
  • 8 第八章 聚类分析
    • 8.1 聚类概述
  • 9 分类算法
    • 9.1 课件
  • 10 实验1 python基础
    • 10.1 讲解文本内容
    • 10.2 课程PDF
    • 10.3 实验代码
    • 10.4 实验报告封皮
  • 11 实验2-python
    • 11.1 讲解文本内容
    • 11.2 实验代码
    • 11.3 实验报告封面
  • 12 实验3--python
    • 12.1 讲解文本内容
    • 12.2 实验代码
    • 12.3 实验报告封面
  • 13 实验4--python
    • 13.1 讲解文本内容
    • 13.2 21.1实验代码
    • 13.3 实验内容2
    • 13.4 实验内容3
    • 13.5 实验报告封面
  • 14 实验5--python
    • 14.1 文本内容-NumPy模块
    • 14.2 第三方可视化数据分析图表
    • 14.3 数据
    • 14.4 思考题
    • 14.5 实验报告封面
  • 15 实验6--python
    • 15.1 实验 NumPy矩阵的基本操作
    • 15.2 实验 关联规则算法
    • 15.3 实验 商品零售购物篮分析
    • 15.4 实验报告封面
  • 16 实验7--python
    • 16.1 实验1 用关联规则分析方法推荐电影
    • 16.2 实验2 FP-growth算法
    • 16.3 实验3 教育平台的线上课程推荐策略
    • 16.4 实验报告封面
  • 17 实验8-python
    • 17.1 实验1 购物车分析
    • 17.2 实验2 基于关联规则的文本分析
  • 18 实验9--python
    • 18.1 实验1 聚类分析
    • 18.2 实验2 航空公司客户价值分析
    • 18.3 实验3 运输车辆安全驾驶行为分析
    • 18.4 实验报告封面
AprioriAll算法

AprioriAll算法





AprioriAll本质上是Apriori思想的扩张,只是在产生候选序列和频繁序列方面考虑序列元素有序的特点,将项集的处理改为序列的处理。

Apriori算法将序列模式挖掘过程分为5个具体阶段,即排序阶段找频繁项集阶段转换阶段产生频繁序列阶段以及最大化阶段

1. 排序阶段

对原始数据表按客户号(作为主关键字)和交易时间(作为次关键字)进行排序,排序后通过对同一客户的事件进行合并得到对应的序列数据库。


2. 找频繁项集阶段

这个阶段根据min_sup找出所有的频繁项集,也同步得到所有频繁1-序列组成的集合L1。这个过程是从所有项集合I开始进行的。

然后将频繁1-项集映射成连续的整数。例如,将上面得到的L1映射成下表对应的整数。

由于比较频繁项集花费一定时间,这样做后可以减少检查一个序列是否被包含于一个客户序列中的时间,从而使处理过程方便且高效。

3. 转换阶段

在寻找序列模式的过程中,要不断地进行检测一个给定的大序列集合是否包含于一个客户序列中。为此做这样的转换:

*每个事件被包含于该事件中所有频繁项集替换。*如果一个事件不包含任何频繁项集,则将其删除。*如果一个客户序列不包含任何频繁项集,则将该序列删除。

这样转换后,一个客户序列由一个频繁项集组成的集合所取代。每个频繁项集的集合表示为{e1e2ek},其中ei1≤ik)表示一个频繁项集。

4. 产生频繁序列阶段


利用转换后的序列数据库寻找频繁序列,AprioriAll算法如下:

输入:转换后的序列数据库S,所有项集合I

   最小支持度阈值min_sup

输出:序列模式集合L

上述算法中利用频繁序列Lk-1生成候选k-序列Ck的过程说明如下

1)连接

对于Lk-1中任意两个序列s1s2,如果s1s2的前k-2项相同,即s1=<e1e2ek-2f1>s2=<e1e2ek-2f2>,则合并序列s1s2,得到候选k-序列<e1e2ek-2f1f2><e1e2ek-2f2f1>

2)剪枝

剪枝的原则:一个候选k-序列,如果它的(k-1)-序列有一个是非频繁的,则删除它。


5. 最大化阶段

在频繁序列模式集合中找出最大频繁序列模式集合。

【例6.4】对于表6.5所示的序列数据库S1,从前面的过程看到,产生的所有频繁序列集合:L={<1><2><3><4><5><12><13><14><15><23><24><34><35><45><123><124><134><135><234><1234>}

 删除子序列得到最大序列的过程如下:

   由于最长的序列是4,因此所有4-序列都是最大序列,这里只有<1234>是最大序列。

  对于4-序列<1234>,从L中删除它的3-子序列<123><124><134><234>2-子序列<12><13><14><23><24><34>1-子序列<1><2><3><4>,剩下的3-序列<135>是最大序列。

对于3-序列<135>,从L中删除它的2-子序列<15><35>1-子序列<5>,剩下的2-序列<45>是最大序列。

  到此,L中已没有可以再删除的子序列了,得到的序列模式如下表所示。

当求出所有序列模式集合L后,可以采用类似Apriori算法生成所有的强关联规则。

例如,假设有一个频繁3-序列<{D}{BF}{A}>,其支持度计数为2,它的一个子序列<{D}{BF}>的支持度计数也为2

  若置信度阈值min_conf=75%,则:

<{D}{BF}>→<{D}{BF}{A}>

是一条强关联规则,因为它的置信度=2/2=100%