【大数据开发基础】第七章关联规则挖掘

1 关联规则挖掘的基本概念

1.1 关联规则的基本概念

  1. 关联规则挖掘的主要对象是交易型数据库。
  2. 支持度support:支持度是模式在事务型数据库中出现的频率。对于形如“A=>B”的关联规则,支持度定义为: 支 持 度 ( A = > B ) = 包 含 A 和 B 的 元 组 数 元 组 总 数 支持度(A=>B)=\frac{包含A和B的元组数}{元组总数} A=>B=AB
  3. 置信度certainty:表示规则的可信程度。对于形如“A=>B”的关联规则,置信度定义为: 置 信 度 ( A = > B ) = 包 含 A 和 B 的 元 组 数 包 含 A 的 元 组 数 置信度(A=>B)=\frac{包含A和B的元组数}{包含A的元组数} A=>B=AAB
  4. 表示方式:X->Y(support,certainty)
  5. 置信度小,规则无意义。支持度小,规则使用面窄。同时满足用户定义的最小置信度和最小支持度阈值的关联规则,称为强关联规则(strong association rule),并被认为是有趣的

1.2 关联规则分类

  1. 基于规则中处理的变量类别:布尔型、数值型
  2. 基于规则中数据的抽象层次:
    1)单层关联规则:所有的变量都不考虑层次。
    如:性别=“男”=> 职业=“网络工程师”
    2)多层关联规则:考虑变量的不同层次性。多层关联规则又可分为同层关联规则和层间关联规则。
    如,数码相机 => 三星手机,(数码相机是三星数码相机的较高层抽象)
    再如,数码相机 => 手机(数码相机、手机是三星数码相机和三星手机的较高层抽象)。

同层关联规则:如果一个关联规则对应的项目是同一个粒度层次,那么它是同层关联规则
如,数码相机 => 手机。
层间关联规则:如果在不同的粒度层次上考虑问题,那么得到的是层间关联规则。
如,数码相机 => 三星手机

  1. 基于规则中涉及的数据维数
    1)单维关联规则:只涉及一个属性(维),处理单个属性(维)中的一些关系
    如:啤酒 => 尿布,只涉及到用户购买的商品一个维;
    2)多维关联规则:处理多个属性(维)上的关系
    如,性别“女” => 职业“秘书”,此规则涉及到两个属性(维)的关系。

2 由事务数据库挖掘单维布尔关联规则

  1. 项的集合称为项集(itemset),项的项集称为k-项集,如集合{computer, software}是一个2-项集。
  2. 项集的频率:即包含项集的事务数,也称为项集的支持计数(support_count)。
    Min_sup: 设定的支持率阈值
    如果项集的出现频率大于或等于min_sup与D中事务总数的乘积,就称该项集满足最小支持率min_sup
  3. 频繁项集:满足最小支持度的项集,频繁k-项集通常记做: L k L_k Lk
  4. 频繁项集能揭示数据内在的、重要的特性。
  5. 关联规则挖掘的两步过程:
    1)找出所有的频繁项集:这些项集出现的频繁性要满足最小支持度原则。
    2)由频繁项集产生强关联规则:满足最小支持度和最小置信度。
    常用方法: Apriori算法
  6. Apriori算法原理
    1)任何一个频繁项集的子集必定是频繁项集;
    如,如果{A,B}是频繁项集,则{A}、{B}都是频繁项集。
    2)任何非频繁项集的超集都为非频繁项集
    如,如果{A}、{B}是非频繁项集,则{A,B}是非频繁项集

例题:占坑待补。。。。

3 由事务数据库挖掘多层关联规则

  1. 多层关联规则:
    对许多应用,在许多维上存在层次性,如商品维。此时,需要数据挖掘系统具有能在多个抽象层间挖掘关联规则的能力。

如,IBM台式机 => Sony打印机,和台式机 => 打印机。
属于同一维在不同层次上获得的两个关联规则。
虽然对多层关联规则,在较低层数据项间可能很难找到强关联规则,而在较高层则相对容易,但也要去数据挖掘能在多个抽象层间挖掘不同层,或层间的关联规则。

  1. 多层关联规则挖掘的度量方法仍可沿用“支持度-置信度框架”

  2. 多层关联规则挖掘有两种设置支持度的策略:
    1)对所有层采用一致的最小支持度 (一致支持度)
    2)在较低层采用递减的最小支持度 (递减支持度)

  3. 一致支持度
    1)优势:搜索过程是简单的,且只需指定一个最小支持度阈值。
    2)缺陷:如果最小支持度阈值设置太高,可能丢掉出现在较低抽象层中有意义的关联规则;
    反之,设置太低,则可能会在较高抽象层产生无兴趣的关联规则
    3)解决方法:“递减支持度”

  4. 对于具有递减支持度的多层关联规则挖掘,有许多可用的搜索策略:
    1)“逐层独立”
    2)“层交叉单项过滤”
    3)“层交叉k-项集过滤”

  5. 逐层独立:完全的宽度搜索,没有用频繁项集的背景知识用于剪枝。(频繁项集的背景知识:如果一个项集是频繁的,那么它的所有子集也是频繁的)

  6. 层交叉单向过滤:如果一个第 i i i层的项集被考察了,那么它在第 ( i − 1 ) (i-1) (i1)层的父节点必然是频繁的。
    如果一个节点是频繁的,那么他的子女将被考察,否则它的子孙将被剪枝

  7. 层交叉K-项集过滤:如果一个第 i i i层的k-项集被考察了,那么它在第 ( i − 1 ) (i-1) (i1)层的k-项集父节点必然是频繁的。

4 由关系数据库和数据仓库挖掘多维关联规则

  1. 前面都是针对事务数据库进行分析的,事务数据库中的数据都是单维的。而如果是对关系数据库或数据仓库中的销售和相关信息进行分析,此时的数据是以多维形式定义存储的。
  2. 若将数据库的每个属性或数据仓库的每个维看作一个谓词,可挖掘得到多维关联规则
  3. 由于关系数据库中的属性可以是符号量或数值量
    符号属性:仅取有限个无序的值(如:occupation, brand, color);
    数值属性:有大小的数值(如: age, income, price)。
  4. 针对数值属性,在进行关联规则挖掘前应该首先进行离散化
    然后,再沿用“支持度—置信度”原则,完成关联规则的发掘。
  5. 根据对数值属性的处理方式,多维关联规则挖掘的相关技术可分为三类:
    (1)利用概念层次树对数值属性离散化:离散化过程需在数据挖掘之前完成
    (2)利用分箱技术对数值属性离散化:基于数值属性的数据分布将其离散化到分箱bins中。
    (3)利用距离对数值属性离散化:考虑数据点之间的距离,进行离散化。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值