IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 数据挖掘——关联规则挖掘 -> 正文阅读

[人工智能]数据挖掘——关联规则挖掘

《数据挖掘》国防科技大学
《数据挖掘》青岛大学

数据挖掘之关联规则挖掘

关联规则挖掘(Association Rule Mining)最早是由Agrawal等人提出。最初的动机是解决购物篮分析(Basket Analysis)问题,目的是发现交易数据库(Transaction Database)中不同商品之间的联系规则。

1. 定义

关联规则是描述在一个交易中物品之间同时出现的规律的知识模式,更确切的说,关联规则是通过量化的数字描述物品X的出现对物品Y的出现有多大的影响。
关联分析 association analysis:关联分析用于发现隐藏在大型数据集中的令人感兴趣的联系,所发现的模式通常用关联规则或频繁项集的形式表示。
在这里插入图片描述

形式化描述

? 关联规则挖掘的交易数据集记为D
? D ={T1,T2,…,Tk,…,Tn},Tk(k=1,2,…,n)称为交易,每个交易有唯一的标识,记作TID。
? 元素 im(m=1,2,…,p)称为项。在交易数据集中,每个项 ik 代表一种商品的编号或名称。
? 设 I = { i1,i2,…,im}是 D 中全体项组成的集合。
? D 中的每个事务Tk都是 I 的一个子集,即 Tk ? I ( j=1,2,…,n)。
? 由 I 中部分或全部项构成的一个集合称为项(itemset),任何非空项集中均不含有重复项。若 I 包含m个项,那么可以产生2m个非空项集。
? 设 X 是一个 I 中项的集合,如果 X ? Tk,那么
称交易 Tk 包含项集 X。
◆ 若X,Y为项集,X?I, Y?I,并且X∩Y=?,则形如X→Y的表达式称为关联规则。

度量

  • 支持度(support)
    支持度是对关联规则重要性的衡量,反映关联是否是普遍存在的规律,体现这条规则在所有交易中有多大的代表性。记为:support(X→Y)
    在这里插入图片描述
  • 置信度(confidence)
    置信度(或可信度、信任度)是对关联规则准确度的衡量,度量关联规则的强度。即在所有出现了X的活动中出现Y的频率,说明规则X→Y的必然性有多大。记为confidence(X→Y)。
    在这里插入图片描述

基本概念

  • 挖掘关联规则
    在给定一个交易数据集D上,挖掘关联规则问题就是产生支持度和置信度分别大于等于用户给定的最小支持度阈值和最小置信度阈值的关联规则。
  • 支持度计数
    一般地,项集支持度是一个0~1的数值,由于在计算项集支持度时,所有分母是相同的,所以可以用分子即该项集出现的次数来代表支持度,称为支持度计数。
  • 频繁项集
    给定全局项集 I 和交易数据集 D,对于 I 的非空项集 I1,若其支持度大于或等于最小支持度阈值min_sup,则称 I1 为频繁项集(Frequent Itemsets)。
  • k-项集和频繁 k-项集
    对于I的非空子集 I1,若项集 I1 中包含有 I 中的 k 个项,称 I1 为 k-项集。若 k-项集 I1 是频繁项集,称为频繁 k-项集。
  • 超集
    如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S1就是S2的一个超集,反过来,S2是S1的子集。 S1是S2的超集,若S1中一定有S2中没有的元素,则S1是S2的真超集,反过来S2是S1的真子集。

2. 基本过程

① 找频繁项集:通过用户给定最小支持度阈值min_sup,寻找所有频繁项集,即仅保留大于或等于最小支持度阈值的项集。
② 生成强关联规则:通过用户给定最小置信度阈值min_conf,在每个最大频繁项集中寻找关联规则,即删除不满足最小置信度阈值的规则。
注意:一个频繁X项集能够生成2X-2个候选关联规则

3. 原始方法

蛮力法(brute-force approach):计算每个可能的规则的支持度和置信度
计算代价过高(可能提取的规则的数量达指数级)

4. Apriori

先验原理:
· 如果一个项集是频繁的,则它的所有子集一定也是频繁的;相反,如果一个项集是非频繁的,则它的所有超集也一定是非频繁的。→提前剪枝
注意事项:

  • 项的字典序:尽管集合具有无序性,但为了快速连接操作,通常对所有商品做一个默认的排序(类似于建立一个字典索引)。
  • 项的连接:可以降低候选项的生成
    在这里插入图片描述
    例子:
    在这里插入图片描述
    算法特点:
  • 多次扫描数据库
  • 候选项规模庞大
  • 计算支持度开销大
    提高算法性能的方法:
  • 散列项集计数 Hash-based itemset counting
  • 事务压缩 Transaction reduction
  • 划分 Partitioning
  • 采样 Sampling

FPGrowth

基本思想:

  • 只扫描数据库两遍,构造频繁模式树(FP-Tree)
  • 自底向上递归产生频繁项集
  • FP树是一种输入数据的压缩表示,它通过逐个读入事务,并把每个事务映射到FP树中的一条路径来构造。
    构造FP树:
  • 扫描数据库,得到频繁1-项集,并把项按支持度递减排序
  • 再一次扫描数据库,建立FP-tree(遍历每一个事务,构造成一条路径,并给项计数)
    在这里插入图片描述
    生成条件模式:
  • 从FP-tree的头表开始
  • 按照每个频繁项的连接遍历FP-tree
  • 列出能够到达此项的所有前缀路径,得到条件模式基
    在这里插入图片描述
    递归生成FP树:
    对每个模式库,计算库中每个项的支持度,用模式库中的频繁项建立FP-tree
    在这里插入图片描述
    优点:
  • 完备性:不会打破交易中的任何模式,包含了频繁模式挖掘所需的全部信息
  • 紧密性:支持度降序排列,支持度高的项在FP-tree中共享的机会也高;绝不会比原数据库大

Apriori和FP-tree性能对比

在这里插入图片描述
!在这里插入图片描述
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-18 17:43:23  更:2022-04-18 17:45:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:26:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码