数据仓库与数据挖掘c1-c4基础知识

chapter1 mooc

Test1

1.判断以下行为是否属于数据挖掘任务:监测患者的心率是否异常

来自 <数据仓库与数据挖掘_北京理工大学_中国大学MOOC(慕课)>

是的,监测患者的心率是否异常可以被认为是数据挖掘任务的一种。

数据挖掘是通过对大量数据进行分析,发现其中的模式、关联和趋势,并从中提取有用的信息和知识。在这种情况下,监测患者的心率是否异常涉及收集和记录患者的心率数据,然后对这些数据进行分析以识别异常模式或趋势。

来自 <https://poe.com/chat/2k540yisp8vwhcldfa3>

2.数据挖掘是从大量数据中挖掘重要、隐含的、以前未知、______的模式或知识。

来自 <https://poe.com/chat/2k540yisp8vwhcldfa3>

潜在有用的

3.数据仓库的角度可以将数据挖掘过程划分为数据清理、数据集成、数据选择与变换、数据挖掘及_______等阶段。

知识评估

4.买啤酒的人很大概率也会购买尿布——关联规则发现

5.

当不知道数据所带标签时,可以使用哪种技术促使带同类标签的数据与带其他标签的数据相分离——聚类

6.不属于数据挖掘任务——根据顾客的职业将顾客进行分组;提取声波的频率;预测掷骰子的结果

7.属于DM——根据顾客的购物记录预测顾客感兴趣;监测患者的心率是否异常

chapter2 

内容

2Data

五数概括

最大值、最小值、上四分位数Q1[第一个四分位数]、下四分位数Q3【第三个四分位数】、中位数

正常数据vs异常数据

Q125%)四分位差IQR=Q375%-
上下1.5倍IQR是正常数据,超过为异常数据

箱线图

max和min若在IQR上下1.5倍IQR内则是正常,若超过就标出上下1.5倍IQR

相似性和相异性

有序属性

有序数据->数值【排序】,然后把每一个属性值用它在序列中的排序代替

归一化

用距离计算相似性

相异性矩阵

标称属性

简单匹配法

不匹配/总属性个数

标称->二分【一个标称有m个属性,转换成m个二分属性】

二分属性

不是对称的二分属性?就是没有两者取值为0的情况?——jaccard系数?
比如二元属性,当考虑普通人的患癌情况时,健康时属性为0,患癌时为1,这样大部分情况下该属性都为0,因此我们一般只关注属性为1的情况,所以这个就是非对称的二元属性。
 


 

距离

性质

非负性

对称性

任意两边之和大于第三边

若一个距离满足这三个属性就称为度量标准

普遍方法

闵可夫斯基距离

L-r范式

特殊情况

h=1曼哈顿距离

各个属性差的和

h=2欧氏距离

h->∞

上确界距离——数据对象每个数据中差距最大的那个

对于文档相似度

余弦相似度

对于文档,用单词在文档中出现的频率来代表

混合属性

按各个属性分别计算,最后综合

mooc题目 

单选 (2分) age 值(以递增序) 为: 13,15,16,16,19,20,20,21,22,22,25.25,25,25,30,33,33,35,35,35,35,36,40,45,46,52,70。使用 z-score规范化将 age 值 35 变换到[0.0,1.0]区间,变换后的值为 ()

数据

不连续不均匀有重复

 z-score规范化

(x-μ)/σ

若求36的

单选 (2分) 假设属性income的最大最小值分别是12000元和98000元。利用最大最小规范化的方法将属性的值映射到0至1的范围内。对属性income的73600元将被转化为: ()

最大最小规范化

属性类型

标称属性(nominal attribute)、二元属性(binary attribute)、序数属性(ordinal attribute)、 数值属性(numerical attribute)、离散属性与连续属性。

填空(2分)
一个数据集的分布的五数概括由最小值、第一个四分位数第三个四分位数、?和最大值构成。

中位数

填空(2分) 定用于分析的数据包含属性age。age 值(以递增序)为: 13,15,1616,19,20,20,21,22,22,25,25,25,25,30,33,33,35,35,35,3536,40,45,46,52,70。则数据的第一个四分位数的值为 ,第三个四分位数的值为35

20

求解四分位数

(n+1)/4可以整除

 

(n+1)/4不能整除时

 

 

 

填空

(2分)考虑值集(1224 3324 55 682,其四分位数极差是:

四分位数极差

 IQR = Q3 - Q1

 

 

‏数据集的属性可以划分为____和连续型两种。

离散型

‍两个向量d1 = (1,1,2,1,1,1,0,0,0) d2 =  (1,1,1,0,1,1,1,1,1)的余弦相似度为()

余弦相似

4 单选(2分) 下面不属于数据集特征的是 A.稀疏性 B.连续性 C.分辨率 D.维度

数据集特征

维度 稀疏性 分辨率

连续性、相异性不是

数据挖掘感念与技术第三版-----------课后习题(部分) - 一杯Java不加糖 - 博客园 (cnblogs.com)

chapter3数据预处理

 内容

预处理的主要步骤

数据清理

处理错误数据、平滑噪音、识别或者移除噪音点并且解决数据的不一致问题

数据集成

来源于多个数据源的异构、不同特点、性质的数据集中在一起

数据转换

将数据转换成适合数据挖掘任务的数据,包括数据的规范化和数据的离散化

数据约减

通过原始数据集得到一个规模较小的数据集,使得在规模较小的数据集上得到的数据挖掘结果和在原始的数据集上得到的数据挖掘结果几乎相同
主要包括维度约减、数量约减、数据压缩

数据清理

脏数据

不完整

数据缺少属性值、缺少某个感兴趣的属性、数据只包含聚合后的数据而丢失了原始数据

有错误

不一致

有噪音

噪音:测量错误的随机部分

有异常

这些数据的行为与数据集中大部分数据的行为有明显的差异

数据清理

概念

处理缺失数据,平滑噪音数据,识别或者移除异常点,或者解决数据不一致的问题。
 

包含两种

手动清理

自动清理

由于现实世界中数据规模较大,我们往往利用一些业务规则、清理算法和清理规则实现自动清理。

经常使用的数据清理方法

处理异常值的方法

处理缺失数据

忽略元组

当我们数据中的缺失值比较少的时候采取,若我们数据中的缺失值比较多,采用这种方法会导致我们的数据极度稀疏

插补方法

适用情况

对于缺失数据比例比较高的数据

方法

均值/中位数/众数

固定值

最近邻插补

比前两个更准确
计算和缺失值最相关的记录的属性值来进行插补(在数据集中找到与缺失样本最接近的样本的属性值插补)

使用最可能的值

利用回归、贝叶斯等进行数据挖掘算法预测缺失值

处理异常点

识别异常

3σ原则、箱线图、聚类算法

异常处理

删除含有异常值的记录

若异常较少

视为缺失值

平均值修正

不处理,选鲁棒性较强的数据挖掘算法

处理噪音

平滑噪音

分箱

用箱的平均值平滑

用箱的边界值平滑

例子

eg

用箱的平均值平滑

4,8,15->9

用箱的边界值平滑

保留箱的两端的数据,中间的数据根据它离上端还有下端的距离进行调整,由8离4近,所以平滑为4

回归

聚类

dbscan识别并删除噪音

数据集成

概念

将来自多个不同数据源的数据在物理或逻辑上实现集中,并提供统一的数据访问接口

基于仓库的数据集成方案

概念

首先通过数据的抽取、转换和加载,即数据的etl操作,将来自于多个不同数据源的数据,统一地集中到数据仓库中,由数据仓库提供数据访问接口,通过数据访问接口我们可以对集成后的数据进行访问和分析

最重要的任务

维护来自多个不同数据源的一致性

需要考虑的问题

实体识别、重复记录检测、属性冗余

冗余

冗余

属性名称的不一致——number和id都可以表示学生学号;若一个属性可以由其他属性推导也是冗余

原因

不同的表示方法,不同的测量尺度

解决

方法

相关性分析

相关性分析

数值类型

相关系数、协方差

标称类型

卡方检验

标称类型-卡方检验

基于假设

两个属性的分布是独立的

步骤

C

A属性有C种不同取值

R

B属性取值有r种

Oij

oij是A=Ai,B=Bj的观测测度,也就是这个事件的发送次数

Eij

A=Ai,B=Bj的期望测度

卡方值较大

相关性系数比较强

例子

内容

属性

下棋和喜欢科幻小说

2*2矩阵

矩阵中每一个元素,记录每一个事件的观测测度,即这个事件的发生次数,我们把这个矩阵称为矩阵相依表

期望测度

如(1,1)中是90,下棋的人数是300,喜欢科幻小说的人数是450,总共的事件记录是1500,即300*450/1500=90

计算卡方值

由于每一个属性都是两种情况,自由度为1,在置信水平为0.001的情况下,拒绝假设的值是10.8,卡方值远高于拒绝假设的值,所以这两个属性是相关值很强的属性

数值类型

协方差

标准差

协方差

Eg

皮尔森相关系数

皮尔森相关系数

对协方差进行规范化
 

数据转换

数据转换

通过变换将数据转换成适用于数据挖掘任务的数据,也就是得到面向特定数据挖掘任务的数据

可以将数据转换看成一个函数映射,通过数据转换可以将原始的属性值转换成一个新的属性值

方法

通过简单的函数进行数据转换

通过简单的函数映射,将原始的属性值变成新的属性值

规范化

规范化

对数据进行规范,使值落入一个比较小的特定区域,通过规范化,我们可以统一各个属性的量纲

常用方法

极大极小值规范化方法

Z-score规范化

小数定标法

j是使max值小于一的最小整数

离散化

离散化

将连续类型的属性变换为序数属性

监督离散化方法

基于熵的方法

适用于分类领域

原理

选择一个分裂点,根据分裂点可以把数据分为两个间隔

基于熵的数据离散化方法中,会选择具有最大信息增益的分裂点作为最佳分裂点,将数据一分为二

对于一个数据集D,我们用p来代表每一个类别的概率,如果D有m个类,那么信息熵可以通过

计算
info(D):根据数据分布要弄清楚数据集D中的每一个数据对象类标签所需要的信息量

对于数据集中的一个属性s,如果使用分裂点T,可以将这个数据集分为两部分S1,S2,可以计算一个信息熵infos(T)
 

infos(T):在知道这个分裂点的情况下,弄清楚数据集D中的每一个数据对象的标签需要的信息熵

分裂点T的信息增益
 

Gain(T)的含义:这个分裂点对识别这个数据集D中的每一个数据对象类标签的贡献,贡献越大的分裂点就越好


 

步骤

首先选择一个最佳分裂点将数据一分为二,然后再在各部分数据中,再选择最佳分裂点将数据一分为二依次进行,直到得到间隔数目的要求

基于卡方的方法

无监督离散化方法

分箱

等宽的分箱方法

将属性域分为宽度相同的间隔

宽度

属性区间为[A,B]希望把这个属性离散为N个间隔

对于异常值很敏感,不适用于倾斜数据的离散化

等深的分箱方法

将属性分为n个间隔,落入每个间隔的数据对象个数是相同的

宽度不一致

直方图

聚类

k-means

根据每一个簇的取值范围得到x个不同的间隔

数据聚合

将多个属性值合并成为一个新的属性值

eg

通过月降水量进行汇总可以得到这个地区的年降水量

属性构造

基于已有的属性,构造新的属性,并把新的属性加入到原始数据中

数据约减

根据原始的数据集得到一个规模较小的数据集,在这个规模比较小的数据集上能得到和原始数据集上几乎相同的挖掘结果

提高效率

数量上、维度上、数据压缩

方法

回归

聚类

抽样

主成分分析

无参

基于参数的数据约减方法

用模型拟合,保留模型参数而丢掉原始数据

基于线性和非线性数据回归的数据约减方法

基于非参数的数据约减方法

不需要模型去拟合,比如聚类抽样

基于聚类

对于同一簇的聚类特征用簇的均值、半径来代表

抽样

根据原始数据集,得到一个比较小规模的子集,抽样的原则就是要选择具有代表性的子集

有效抽样的原则

如果这个抽样具有代表性,那么使用这个抽样子集和使用原始数据集的效果是基本相同的

如果这个数据子集保留了原始数据集的特性,那么这个子集就是有代表性的

方法

无放回的抽样

有放回的抽样

分层抽样

首先将原始数据集分成若干个互不交互的层,再在每一个层中按一定的比例进行抽样,最后把每一个层中抽样得到的数据汇总到一起,得到抽样子集

降维方法

减少属性个数,提高效果

优势

避免维度灾难

消除不相关的属性和噪音

提高数据挖掘的时间

提高数据挖掘的效率

PCA主成分分析法【有参】

把位于高维空间中的数据点投射到低维空间

步骤

正则化

使各个数据量纲统一

选择最能代表数据的k个正交基

主成分

把原始数据中的每个数据对象用这k个正交基的线性组合表达

属性子集选择

从原始的数据集中选择一个子集,用这样一个子集来代替原始的属性集

vsPCA

k个正交基不是初始的属性了,属性子集依然是

mooc题目

单选(2分)假设12个销售价格记录组已经排序如下:5,10,11,13,15,35,50,55,72,92,204,215使用如下每种方法将它们划分成四个箱。等频(等深) 划分时,15在第几个箱子内? (2)

等深分箱

2

单选(2分) 以下哪种方法不是常用的数据约减方法(C)

A.聚类

B.抽样

C.关联规则挖掘

D.回归

数据约减方法

单选(2分) 假定用于分析的数据包含属性age。数据元组中age的值如下(按递增序): 13,15,16,16,19,20,20,21,22,22,25,25,25,30,33,33,35,35,36,40,45,46,52,70,问题:使用按箱平均值平滑方法对上述数据进行平滑,箱的深度为3。第二个箱子值为: ()

按箱平均值平滑方法

用箱的平均值作为箱的值

4

判断(2分) 主成分分析法是一种有参的数据约减方法【T】

Pca

主成分分析(PCA)是一种常用的无监督学习方法,利用正交变换把由线性相关变量表示的观测数据转换为几个由线性无关变量表示的数据

它通过线性变换将原始数据投影到一个新的坐标系统中,使得投影后的数据具有最大的方差。这些投影的新坐标被称为主成分,它们是原始数据中的线性组合。

有参

5

判断(2分)离散属性总是具有有限个值。

A.X

B.√

判断(2分) 特征提取技术并不依赖于特定的领域。【×】

A.√

B.X

特征提取技术

特征提取技术在很大程度上依赖于特定的领域。特征提取的目标是从原始数据中提取出对于特定任务有用的信息或特征。这些特征可以是图像、语音、文本或其他数据类型的属性或表示。不同领域的数据具有不同的特点和结构,因此需要使用特定于该领域的特征提取技术。

判断(2分) 可以通过创造新的属性并加入到现有属性集中实现更有效的挖掘

A.√

B.X

利用已有的属性构造出新的属性并加入到现有的属性集合中。

属性构造

特征处理:特征常用处理

判断(2分) 通过离散化操作可以将连续属性转化为序数属性

AX

B.√

判断(2分) 通过数据集成可以维护数据源整体上的数据一致性

AX

B.√

集成

数据集成的核心任务即通过将互相关联的分布式异构数据源集成(集成指维护数据源整体上的数据一致性、提高信息共享利用的效率)到一起,使用户能够以透明的方式(指用户无需关心如何实现对异构数据源数据的访问,只关心以何种方式访问何种数据)访问这些数据源,令数据对访问它的人来说更具可操作性和价值。

判断(2分) 可以将异常视为缺失值,利用缺失值处理的方法处理也可以用前后俩个观测值的平均值修正该异常值

异常值处理

 chapter4Data Warehousing

Topic

为什么要学数据仓库+数据仓库与数据库的区别是什么

基本概念

什么是数据仓库

特点

从传统的数据库中,单独隔离出来的具体的,具有物理实体的数据库,为决策提供支持。

数据库服务对象:事务数据transaction

为历史数据的分析提供平台,便于历史数据做信息处理

定义

数据仓库实为数据集合,用于支持决策,有四个特征:面向主题的、集成的、时变的、重要的。
 

面向主题

主题:管理人员感兴趣的主题
仓库的任务不是日常事务性操作,而是为决策者提供建模和分析服务。
为数据使用者提供一个简洁完整的数据视图。--排除与主题不相关的数据,把主题相关但是不在同一张表中的数据进行集成。
[数据库按table组织,DW按主题组织]

集成

集成多源异构的数据源。
运用ETL工具,把数据放入数据仓库,通过数据清洗,按照数据仓库的要求放入各字段内[集成]

集成与清理同时要做,解决数据不一致问题。

时变性

对于数据仓库来说,它的时间的水平线是要远远地比操作数据库长——操作型数据库:值不断变化--表中时间信息会被update,数据库中有一个很重要的机制叫回滚机制,解决事务一致性问题;数据仓库:数据基本不变化--用于存放历史数据的地方
数据库中字段可以有时间属性也可以么有,数据仓库的每一条记录都要有时间属性

重要性【稳定性】

indepencent:数据仓库和数据库彼此独立,不能直接把数据库当数据仓库使用;
静态性:数据一旦放入数据仓库中,不会被update,但是操作型数据库会更新字段信息
最常用操作:loading与access

Oltp olap数据库与数据仓库的区别

Oltp

在线事务处理

比较严格意义上的关系数据库

olap

在线分析处理

数据仓库-用于做分析

Oltp

olap

使用者

顾客、管理员--做事务处理的人

数据分析人员

功能

日复一日的事务型处理

决策支持--为决策提供各种信息

设计

面向具体应用的

面向主题的

数据

最新的数据,经常更新的,细节的,扁平化关系的数据

历史数据【聚合的、多维、】

使用

重复性的

面向特定任务

访问

读写

只能读,没有写

工作单元

小且简单的事务性操作

复杂查询

存放数据量

Tens

Millions【大】

Size

业务量

事务操作吞吐量

每秒钟多少次查询…

关系型数据库与数据仓库的区别
 

为什么要单独分离出来数据仓库而不直接把数据库当数据仓库?

为什么要分开?:保证两个系统都能高效运行。

olap和oltp本身冲突,

olap涉及到复杂查询,oltp要求处理事务的反应能力--从反应时间看两者不一样;在操作方面,一个是频繁短小的任务,一个是耗时比较长的,所以如果在数据库上同时做事务处理与查询处理会导致事务处理缓慢,而且会导致数据库中数据没有被集成,所以做复杂查询需要花大量时间把相关数据链接起来,所以做复杂查询也会慢。

主要原因

数据库是为事务型操作服务,数据仓库主要面向查询分析,面向事务操作的数据库并不能很好支持面向查询分析的数据仓库的需求,所以分开

不同的功能和不同的数据

基本架构

按data mart数据集市组织

每个数据集市代表了一个主题的数据集合。

元数据管理

规定了数据仓库中每一个数据集市的字段内容以及每一个字段要存放什么样的数据以及数据格式。它还规定了某些属性值它所对应的来自于不同表格的所对应的属性字段。
定义了数据仓库的结构是什么样的,数据对象的格式,做olap的操作,每一个操作的含义是什么,涉及到哪些字段。【所有涉及到数据仓库的操作都会在元数据中被定义】

数据仓库

为数据分析提供信息--通过olap服务器,通过loap分析向上提供数据分析所需要的信息

结构

底层是数据源,通过ETL工具放到数据仓库中,数据仓库为服务提供查询分析,这一层包含数据集市,还包含元数据管理,由数据仓库我们可以通过olap服务器提供olap基本操作,向顶层提供各种数据分析的信息服务。【顶层可以部署各种应用】

数据模型与它所做的基本操作olap

Models

企业级

包含很多数据集市,包含元数据管理
首先通过etl工具,把数据源加载到数据仓库内,数据仓库根据主题划分为数据集市(数据仓库即为多个数据集市的集合

数据集市--可能只对某一些主题感兴趣,每一个主题称为数据集市

小型的数据仓库可以认为某几种数据集市的集合。

依赖型数据集市依赖于数据仓库,相当于数据集市组成数据仓库。
非依赖型的数据集市没有建立数据仓库,直接利用etl工具从各个数据源中建立数据集市。


dependent-对数据源进行etl放到数据仓库中去,数据仓库向用户暴露不同主题的数据集市【先有数据仓库,数据集市按数据仓库元数据的定义存放在数据仓库中,根据主题生成数据集市。用户访问只能访问由数仓提供的数据集市,而真正在数据仓库中的数据,用户无法访问】
independent-对数据源进行etl操作,直接构建用户感兴趣的数据集市【用户访问直接接触数据集市的数据】
区别:dependent隔离了用户直接访问数据

虚拟仓库

 在数据库上做一些视图

ETL-extraction,transformation,loading

数据抽取

数据转换

因为底层的数据对象,它在数据仓库中是怎么定义的跟它存储的原始格式是不太一致的,所以要把底层数据对象的存储,转化为在数据仓库中的存储格式

数据加载

抽取的数据要加载到数据仓库中

数据清理

从底层数据源收集的数据可能有错误噪音不一致

刷新

每隔一段时间自动从底层数据源去抓取一部分数据并加载刷新

元数据--规定数仓的字段什么样的内容以及这个字段和下游的每个数据库表中的字段的相关性

什么结构、数据如何存放
元数据是定义数据的数据
 

定义数据仓库的结构

模式、视图、维度、层次、数据来源、数据集市的位置及内容

操作性元数据

数据血缘【哪里产生、经过了什么步骤、在哪些步骤被修改--可信】、被监控的信息、用olap进行操作时会用到哪些算法、操作型环境与数据仓库的映射【底层数据抽取后对应数据仓库的哪个字段】

数据立方体--数据在数据仓库中数据模型的形式--

3维可以由4维聚合而来;
顶点立方体代表总销售和
 

数据仓库中的最小数据单元
 

数据库中是表中的一条记录,对于数据仓库来说,对于一个数值来说,它有不同的维度和它关联

数据立方体

多维

Base cube基本立方体

三维立方体可以由四维立方体聚合得到,把某一个维度合并,不考虑这个信息,直接累加

顶点立方体

维度的粒度可以发生变化

数学建模

星型模式

中间是事实表,记录了某些维度下具体的值
中间事实表的每一个维度都有维度表相关联
【每一个维度的信息都对应一个维度表,一个事实表由多个维度表围绕】
特点:维度与维度相关联意味着维度和事实表关联,查询很快

雪花模式

查询效率低
把一个维度表拆成多个小的维度表,维度表之间相关联

星座模式

数据较多,可能会多个事实表共享一个维度表,
 

数仓有两者表

维度表

介绍数据特征

事实表

记录具体的值

olap操作

Roll up上卷

维度的粒度从细到粗【感觉合起来了】

Drill down下钻

维度的粒度从粗到细【感觉展开起来了】

Slice and dice
切片和切块

切片:固定某个维度,相当于聚合某个维度,去看其余剩下维度的值【eg固定年份】
 

切块:每一个维度只取一个部分考虑【固定所有维度】
 

Pivot(rotate)旋转

对表格将行列互换

钻过drill across

查询跨越多个事实表-慢

钻透drill across

涉及事实表+sql操作-更复杂

应用

数据的查询分析

动态

结构化数据库->非结构化数据库->面向查询分析的数据库仓库

chapter4关联规则挖掘的内容

内容

基本概念

关联规则挖掘就是我们利用给定的一组事务数据集,我们把它称之为叫做transaction。根据这样的事务数据集,我们去挖掘一些规则。这些规则可以根据已发生的项目去预测还有哪些项目会发生。

购物篮事务数据集

每一行代表的是顾客的一次购物记录,我们把它称之为一个transaction.

以尿布啤酒这个规则为例,它的含义就是如果在一次购物中用户购买尿布,那么在这次购物中用户还有可能购买啤酒。

对于这样的关联规则,它蕴含的是项和项之间的关联关系,也就是项和项在一次事物中共同可能出现的频率比较高。

它蕴含的是项和项之间的关联关系,而没有蕴含项和项之间的因果关系

项集

由一个或多个项组成的集合。

k-项集

由K个项组成的项集

支持度计数

对于项集来说有一个度量指标,称之为支持度计数。

这个项集它发生的次数也就等于包含这个项集的事物的数目。

支持度

包含这个项集的事务占全体事务的比例

频繁项集

事先设定一个最小支持度阈值,如果项集的支持度大于或等于这个阈值,我们就指这个项集为频繁项集。

关联规则

蕴含表达式,XY互不相交
X称为规则的前件,Y称为规则的后件
 

关联规则的度量指标

支持度

XY的并集的支持度

置信度

包含X的项集中,Y出现的概率

Eg

关联规则挖掘的任务

根据给定的事务数据集,挖掘支持度大于等于最小支持度阈值,置信度大于等于最小置信度阈值的规则——强关联规则【可过滤无意义规则】

方法

暴力搜索法

复杂度高

步骤

从所有的事务数据集中挖掘到所有的频繁项集

根据频繁项集产生规则

如果我们的项集是频繁项集,那么由这些频繁项集得到的支持度规则它的支持度肯定满足支持度要求。

首先得到满足支持度计数的项集,其后对项集进行二划分,得到规则,再利用置信度过滤得到强关联规则

频繁项集的产生

apiori算法

根据一些先验原理,减少候选频繁项集的空间

先验原理

若一个项集是频繁的,那么它的子集也是频繁的

先验原理主要是根据支持度计数的计算方式得到的——一个项集的支持度不会超过其子集的支持度[反单调性]

若一个项集是非频繁的,那么其所有的超级是非频繁的。

apriori算法描述

首先设置k=1,从事务数据集中产生频繁一项集,然后得到频繁二项集…
 

候选项集的产生

从频繁k项集产生可能的频繁k

+1项集

使用先验原理,对k+1项集过滤

若k+1项集中包含不频繁的k项集,那么这个k+1项集一定是不频繁的

对每一个可能的频繁项集进行支持度计算

通过扫描我们的事务数据库,得到每一个频繁项集的支持度

利用支持度阈值对候选频繁项集进行过滤

得到频繁的k+1项集

k项集怎么得到k+1项集

利用频繁的k-1项集和1项集自连接得到可能的候选k项集

用频繁的k-1项集自连接得到候选k项集
如果这个k-1项集的前k-2项和另外一条k-1项集的前k-2项相同,合并两者得到k项集
 

得到候选集后,利用先验原理进行过滤

Eg

I2i4i5被过滤了,因为C2中i4i5支持度计数为0,因为先验原理,直接去掉【k+1项集中包含不频繁的k项集,那么这个k+1项集一定是不频繁的】
 

支持度计数

需要对每一个候选频繁项集扫描一遍数据库,把它和每一个事务可能的子集进行对比,从而计算每一个候选频繁项集的支持度

apriori算法

将每一个事务和所有的候选项集进行对比,用每一个事务更新所有的候选项集的支持度计数
要把所有事务的子集列举出来

使用哈希树对候选集进行存储,

规则的产生方法

根据频繁项集进行规则的产生

对于每一个频繁项集L,我们找到它所有的非空子集f,从而可以构建形如f->L-F的关联规则,再利用最小置信度阈值对规则进行过滤,从而得到强关联规则
2^k-2项关联规则
 

剪枝

使用规则的反单调性

影响apiori算法计算复杂度的因素

最小支持度阈值的选择

如果我们设置的支持度阈值比较小的话,那么就有可能导致更多的频繁项集,频繁项集的最大长度也可能增加

数据集的维度【项的数目】

若项的数目比较多,那么在进行支持度计算的时候,需要更多的空间;频繁项集数目的增多

数据集的规模【事务数目

若事务较多,我们需要将每一个事务与候选频繁项集进行比较,运行时间较长

事务的平均宽度【平均一个事务包含项的数目】

若较高,增加频繁项集的最大长度,意味着频繁项集的数目增加;
包含子集数目多,那么在进行支持度计算的时候,需要比较的次数多

频繁项集的压缩表示

最大频繁项集

条件

频繁;它的所有直接超集都不频繁

最大频繁项集是所有超集的压缩表示

由最大频繁项集可以推出所有的频繁项集

闭频繁项集——频繁项集完整压缩表达

闭项集

它所有的直接超集的支持度都低于它

闭频繁项集vs最大频繁项集

闭频繁项集能够压缩表示所有的频繁项集,还提供所有频繁项集的支持度信息

Eg

假设DB只有两个事务组成,<a1,…,a100>,<a1,…,a50>设最小支持度计数阈值为1

可得最大频繁项集<a1,…,a10>,支持度为1,可得闭频繁项集<a1,…,a10>,支持度为1,<a1,…,a50>支持度为2,

假设只知道最大频繁项集,那么根据最大频繁项集可以列出所有频繁项集,但是频繁项集的支持度信息缺失,比如<a2,…,a50>只知道是频繁的,但是它是多少是不清楚的

若知闭频繁项集<a1,…,a10>,那么对于<a2,…,a50>不仅知道是频繁的,且知道支持度信息是多少,为2,因为它含于<a1,…,a50>中

关联模式评估

相依表

提升度

若=1,独立;

>1,正相关;【x发生提高y发生的概率】

<1,负相关【x发生降低y发生的概率】

mooc题目

单选 (2分) 考虑下面的频繁3-项集的集合:1,2,3},{1,2,4},{1,2,5},{1,3,4},{1,3,5},{2,3,4},{2,3,5},{3,4,5}假定数据集中只有5个项,采用合并策略,由候选产生过程得到4-项集不包含 ()【题目有问题】

A.1,2,3,5

B.1,3,4,5

C.1,2,4,5

D.1,2,3,4

频繁3-项集

合并策略

A.5

B.4

C.7

D.6

单选 (2分) 设X={1,2,3]是频繁项集,则可由X产生()个关联规则

2^n-2

多选(2分)Apriori算法的计算复杂度受 () 影响

A.事务平均宽度

B.项数(维度)

C.支持度阈值

D.事务数

非频繁模式()

非频繁模式支持度<阈值的项集或规则

对异常数据项敏感

其支持度小于阈值

1.支持度不小于3

事务中出现频数

2.候选2-项集中需要剪枝

删去支持度<32项集

频繁闭项集
 

支持度阈值为40%

支持度=40%*事务数

按选项顺序找到对应事务;

查看增加一个或多个项的项集的支持度是否与原项集相等,相等就不是。

关联规则挖掘过程是发现满足最小支持度的所有项集代表的规则。x

频繁项集vs关联规则挖掘
 

发现满足最小支持度的所有项集

频繁项集

关联规则挖掘
 

根据给定的事务数据集,挖掘支持度大于等于最小支持度阈值,置信度大于等于最小置信度阈值的规则——强关联规则

置信度

区别在于

具有较高的支持度的项集具有较高的置信度。x

Support(支持度):表示某个项集出现的频率,也就是包含该项集的交易数与总交易数的比例。例如P(A)=表示项集A的比例,P(A∪B)=P(AB)表示项集A和项集B同时出现的比例。

Confidence(置信度):表示当A项出现时B项同时出现的频率,记作{A→B}。换言之,置信度指同时包含A项和B项的交易数与包含A项的交易数之比。公式表达:{A→B}的置信度=P(BA)=P(A∩B)/P(A)

如果一个项集是频繁的,那包含它的所有项集也是频繁的。x

1、如果一个项集是频繁的,则它的所有子集也一定是频繁的; 

2、相反,如果一个项集是非频繁的,那么它的所有超集也是非频繁的。 

 

猜你喜欢

转载自blog.csdn.net/m0_62153438/article/details/135048412
今日推荐