数据挖掘是从大量的数据中挖掘出隐含的、未知的、用户可能感兴趣的和对决策有潜在价值的知识和规则。
----简单的说,数据挖掘就是从大量的数据中发现有用信息的过程
数据的丰富带来了对强有力的数据分析工具的需求:
解决办法:数据仓库技术和数据挖掘技术
数据仓库和联机分析处理技术(存储)
数据挖掘:在大量的数据中挖掘感兴趣的知识/规则/规律/模式/约束(分析)。
注意事项:
- 早期的数据库主要支持联机事务处理
- 数据仓库用于决策分析,并不是所谓的大型数据库。
—数据仓库的数据是大量数据库的集成。- 数据库用于事务处理,数据仓库用于决策分析
- 关联分析(描述):反映一个事件和其他事件之间依赖或关联的知识。
- 聚类分析(描述):物以类聚,人以群分
- 分类(预测):反映同类事物共同性质的特征型知识和不同事物之间的差异型特征知识。
------注:聚类是一种无指导的观察式学习,没有预先定义的类;而分类问题是有指导的示例式学习,有预先定义的类。- 孤立点分析(预测):
1.关联分析(描述) | 反映一个事件和其他事件之间依赖或关联的知识 |
---|---|
2.聚类分析(描述) | 物以类聚,人以群分 |
3.分类(预测) | 反映同类事物共同性质的特征型知识和不同事物之间的差 |
4.孤立点分析(预测) | 对差异和极端特例的描述 |
数据库 | 事务型(操作型)数据处理 |
---|---|
数据仓库 | 分析型数据处理 |
数据挖掘 | 知识发现 |
数据仓库是为构建分析型数据处理环境而出现的一种数据存储和组织技术。
数据仓库之父:William H.Inmon
严格定义:
数据仓库是一个面向主题的、集成的、随时间而变化的、不容易丢失的数据集合,支持管理部门的决策过程.—W.H.Inmon
- 存储经过加工处理的决策需要的数据
- 查询和决策分析的依据
- 面相主题的:
数据仓库中所有数据都是围绕某一主题组织、展开的- 集成的:
一个数据仓库是通过集成多个异种数据源来构造的- 不容易丢失的(非易失的):
只进行两种数据访问:
数据的初始装载;
查询操作- 随时间而变化的(时变的):
从历史的角度提供信息
数据仓库:是一种存储技术,它能适应于不同用户提供对不同决策需要所需的数据和信息。
数据挖掘:是一种分析技术,研究各种方法和技术,从大量的数据中挖掘出有用的信息和知识。
注:数据仓库并不是数据挖掘的必要条件
数据仓库和OLAP工具是基于多维数据模型的。在多维数据模型中,数据以数据立方体(data cube)的形式存在。
- 尽管我们经常把数据立方体看作3-D几何结构,但实际上,在数据仓库中,数据立方体是n-D的
- 3-D的数据立方体可以以2-D的数据表的序列表示
- 单个维度的角度考察
- 在数据仓库中,一个概念分层(concept hierarchy)定义一个映射序列,将低层概念映射到更一般的高层概念。
- 对于一个给定的属性或维,根据不同的用户视图,可能有多个概念层次:如,表示location的概念:城市省份国家洲;
- 给定一个维的集合,将在不同汇总级别上给出的数据立方体称为方体的格。
- 每个方体的格都在不同的汇总级或不同的数据子集显示数据。
- 0维方体存放最高层的汇总,称作顶点方体(如总销售dollars-sold);而存放最底层汇总的方体则称为基本方体(如图2所示的4维基本方体) 。
(1)概念模型:
从客观世界到主观认识的映射;
首先将现实世界抽象为概念模型,然后再用适合计算机世界的模型和语言来描述。
(2)逻辑模型:
逻辑模型描述了数据仓库主题的逻辑实现.
(3)物理模型
逻辑模型在数据仓库中的实现,如数据存储结构、存储策略、索引策略、存储分配优化等。
一:概念模型
二:逻辑模型
- 是数据仓库数据模型的第二层;
- 通常有三种逻辑模型表示法:
星型模型:事实表在中心,周围围绕地连接着维表(每维一个)。
------(一个事实表)
雪花模型:是星型模型的变种。
--------(一个事实表)
事实星座模型:复杂的应用(如多主题的数据仓库)可能需要多个事实表共享维表。
--------(针对两个会两个以上的数据仓库)几个基本概念:
维和维表:
- 维:关于一个组织想要记录的视角或观点。
- 维表:每个维都有一个表与之相关联
事实和事实表:
- 事实:指的是一些数字度量
- 事实表:包括事实的名称或度量,以及每个相关维表的关键字。
三:物理模型
是逻辑模型在数据仓库中的实现;
主要进行:数据存储结构、存储策略、索引策略、存储分配优化等工作。有两种常见的存储结构:
1)分布式存储;
2)集中式存储。
定义:联机分析处理是共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。
60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的发展。
多维数据库和多维分析的概念,即OLAP
OLTP :是传统的关系型数据库的主要应用,包括记录实时的增、删、改、查,主要是面向基本的、日常的事务处理
OLAP:是数据仓库的主要应用,支持复杂的分析操作,侧重决策支持
1.快速性 :用户对OLAP的快速反应能力有很高的要求。
2.可分析性 :OLAP系统应能处理与应用有关的任何逻辑分析和统计分析。
3.多维性 :系统必须提供对数据的多维视图和分析。
4.信息性 :OLAP系统应能及时获得信息,并且管理大容量信息。
- 切片(Slice)
从多维数组选定一个二维子集,切出一个“平面”- 切块(Dice)
从多维数组选定一个三维子集,切出一个“立方体”- 旋转(Rotate)
改变一个报告(或页面)显示的维方向- 钻取(Drill)
根据维层次,改变数据的粒度,在单个维上进行
基本概念:
维:是人们观察数据的特定角度,是考察问题时的一类属性,属性集合构成一个维(时间维、地理维等)。
维的层次:人们观察数据的某个特定角度(即某个维),还可以存在细节程度不同的各个描述方面(时间维:日期、月份、季度、年)。
维的成员:维的一个取值。是数据项在某维中位置的描述。(“某年某月某日”是在时间维上位置的描述)
多维数组:维和变量的组合表示。一个多维数组可以表示为(维1,维2,…,维n,变量)。(时间,地区,产品,销售额)
数据单元(单元格):多维数组的取值。(2000年1月,上海,笔记本电脑,¥10000)
- 杂乱性:如命名规则的不同
- 重复性:同一客观事物在数据库中存在两个以上相同的物理描述。
- 不完整性:由于实际系统设计时存在的缺陷以及使用过程中的一些人为因素,数据记录可能会出现数据值的丢失或不确定。
- 噪声数据:数据中存在着错误或异常(偏离期望值)
- 数据清理(清洗)
----去掉数据中的噪声,纠正不一致- 数据集成
-----将多个数据源合并成一致的数据存储,构成一个完整的数据集,如数据仓库。- 数据变换(转换)
-----将一种格式的数据转换为另一格式的数据(如规范化)- 数据归约(消减)
----通过聚集、删除冗余属性或聚类等方法来压缩数据。
1)忽略该元组
2)人工填写空缺值
3)使用属性的平均值填充空缺值
4)使用与给定元组属同一类的所有样本的平均值
5)使用一个全局变量填充空缺值
6)使用最可能的值填充空缺值
1)分箱方法
- 先排序,再分箱
- 等深分箱
- 等宽分箱
- 可以按箱的平均值、按箱中值或者按箱的边界等进行平滑。
2)聚类方法
- 通过聚类分析查找孤立点,消除噪声
3)线性回归
- 发现两个相关的变量之间的变化模式,利用回归分析方法所获得的拟合函数,帮助平滑数据及除去噪声。
4)人机结合共同检测
- 计算机检测可疑数据,然后对它们进行人工判断
- 人工更正
- 利用知识工程工具
- 数据字典
数据集成
将多个数据源中的数据整合到一个一致的存储中。
这些源可以是关系型数据库、数据立方体或一般文件。
它需要统一原始数据中的所有矛盾之处,如字段的:
- 同名异义;
- 异名同义;
- 单位不统一;
- 字长不一致等。
注意问题:
- 模式匹配问题;
- 冗余问题;
- 数据值冲突问题。
平滑处理:从数据中消除噪声;
聚集操作:对数据进行综合;
数据规范化:将数据转换到一个较小的范围之内;
- 最小-最大规范化;
- 零-均值规范化(z-score规范化);
- 小数定标规范化。
假定minA和maxA分别为属性A的最小和最大值,则通过下面公式将A的值映射到区间[new_min, new_max]中的v’:
假定属性income的最小与最大值分别为$12000和$98000,可根据最小—最大规范化方法将其范围映射到[0,1]:
如:
属性值$73600将变换为:
[(73600-12000)/(98000-12000)]*(1-0)+0=0.716
将属性A的值根据其平均值和标准差进行规范化;
常用于属性最大值与最小值未知,或使用最小最大规范化方法会出现异常数据的情况。
其中,meanA、standard-devA分别为属性A取值的均值和标准差。
例:
假定属性income的平均值与标准差分别为$54000和$16000,使用z-score规范化,则属性值$73600将变换为:
(73600-54000)/16000=1.225
通过移动属性A的小数点位置进行规范化,小数点的移动依赖于A的最大绝对值
其中,j是使 Max(| v’ |)<1的最小整数
例:
假定A的取值范围[-986, 917],则A的最大绝对值为986,为使用小数定标规范化,用1000(即j=3)除每个值,这样-986被规范化为-0.986。
- 数据立方体聚集;
- 维归约;
主要用于检测并删除不相关、弱相关或冗余的属性维
最常用的方法:属性子集选择。
1)逐步向前选择 (选好的)
2)逐步向后删除(删差的)
3)向前选择和向后删除的结合(1+2)
4)判定树归纳
在判定树的每个节点,算法选择“最好”的属性,将数据划分成类。
当判定树归纳用于属性子集选择时,不出现在树中的所有属性假定是不相关的;出现在判定树中的属性形成归约后的属性子集。- 数据离散化。
标称型(名称型、名义型):数值来自于无序集合,如性别、地名、人名等。
序数型:数值来自于有序集合,如奖学金的等级;职称分布等。
连续型:实数值,如温度、体重等。
1)分箱:属性的值可以通过将其分配到各分箱中而将其离散化。
利用每个分箱的均值或中数替换每个分箱中的值(利用均值或中数进行平滑)。
2)基于熵的离散化:通过信息熵度量,实现离散化
3)通过自然划分分段:3-4-5自然划分分段法
4)聚类:聚类算法可以将数据集划分为若干类或组,每个类构成概念层次树的一个节点;每个类还可以进一步分解为若干子类,从而构成更低水平的层次。
初始不确定性:
给定一个数据元组的集合S,基于熵对S离散化的方法如下:
1)属性A中的每个取值可被认为是一个潜在的区间边界或阈值T。例如,A的取值v可以将样本S划分为分别满足A2)对于数据集S,根据所划分子集而获得的最大熵增益来选择阈值,划分后数据集S提供的信息如下:
学习属性A之后的不确定性:
其中S1和S2分别对应于S中满足条件:A
其中pi为类i在S1中出现的概率,等于S1中类i的样本除以S1中样本的总行数。同理,计算Ent(S2)。
3)确定阈值的过程递归的用于所得到的每个划分,直到满足某个终止条件,如:
信息增益不能低于δ:
Ent(S)-I(S,T) ≤δ
将数值区域划分为相对一致的、易于阅读的、看上去更直观或自然的区间。
聚类分析产生的概念分层可能会将一个工资区间划分为:[51263.98, 60872.34]
而通常数据分析人员希望看到划分的形式为[50000,60000]
自然划分的3-4-5规则常可以将数值数据划分为相对一致和“自然”的区间。一般的,根据最重要的数字上的值区域,递归的和逐层的将给定的数据区域划分为3、4或5个等宽区间。
规则的划分步骤:
如果一个区间最高有效位上跨越3,6,7或9个不同的值,就将该区间划分为3个等宽子区间;(7->2,3,2)
如果一个区间最高有效位上跨越2,4,或8个不同的值,就将该区间划分为4个等宽子区间;
如果一个区间最高有效位上跨越1,5,或10个不同的值,就将该区间划分为5个等宽子区间;
将该规则递归的应用于每个子区间,产生给定数值属性的概念分层;
规则的划分步骤:
对于数据集中出现的最大值和最小值的极端分布,为了避免上述方法出现的结果扭曲,可以在顶层分段时,选用一个大部分的概率空间。e.g. 5%-95%
例如,在资产数据集中,少数人的资产可能比其他人高几个数量级。如果按照最高资产值进行分段,可能导致高度倾斜的分层。此时,可以在顶层分段时,选用一个大部分的概率空间。e.g. 5%-95%。
越出顶层分段的特别高和特别低的部分采用类似的规则划分方法形成单独的区间。
假定AllElectronics所有分部1999年的利润覆盖了一个很宽的区间,从-351.00$ 到4700$。要求利用3-4-5规则自动构造利润属性的一个概念层次树。
例子:
思路:
设在上述范围取值为5%至95%的区间为:-159$ 至1838$ 。应用3-4-5规则的具体步骤如下:
1)根据以上信息,在利润数据集中最小和最大值分别为:MIN=-351$ , MAX=4700$ 。而根据以上分析,对于分段的顶层或第一层,要考虑的最低(5%)和最高(95%)的值是:LOW=-159$ , HIGH=1838$ 。
2)依据LOW和HIGH及其取值范围,确定最高有效位为1000$ ,LOW按1000$ 美元向下取整 ,得到LOW’=-1000$ ; HIGH按1000$ 向上取整,得到:HIGH’=2000$ 。
3)由于该区间在最高有效位上跨越了3个值,即(2000-(-1000))/1000=3,根据3-4-5规则,该区间被划分成3个等宽区间:(-1000$ ,0], (0, 1000$ ], (1000$ ,2000$ ]。这代表分层结构的最顶层。
4)现在,考察原数据集中MIN和MAX值与最高层区间的联系。由于MIN值落在区间(-1000$ ,0],因此调整左边界,对MIN取整后的-400$ ,所以第一个区间调整为(-400$ ,0]。
而由于MAX值不在最后一个区间 (1000$ ,2000$ ]中,因此需新建一个区间(最右边区间)。对MAX取整后得5000$ ,因此新区间为(2000$ ,5000]。
因此最终,概念树分层结构的最顶层包含4个区间:(-400$ ,0], (0,1000$ ],(1000$ ,2000$ ], (2000$ ,5000$ ]。
5)对上述每个区间递归应用3-4-5规则,形成分层结构的下一个较低层:
第一个区间(-400$ ,0]:划分为4个子区间(-400$ ,-300$ ], (-300$ ,-200$ ], (-200$ ,-100$ ] , (-100$ ,0$ ].
第二个区间(0$ ,1000$ ]:划分为5个子区间(0$ ,200$ ], (200$ ,400$ ], 400$ ,600$ ], (600$ ,800$ ], (800$ ,1000$ ].
第三个区间(1000$ ,2000$ ]:划分为5个子区间(1000$ ,1200$ ], (1200$ ,1400$ ], 1400$ ,1600$ ], (1600$ ,1800$ ], (1800$ ,2000$ ].
第四个区间(2000$ ,5000$ ] :划分为3个子区间(2000$ ,3000$ ], (3000$ ,4000$ ], (4000$ ,5000$]。
类似的,如有必要,3-4-5规则可继续在较低的层次上迭代。