首页 > 代码库 > 《数据挖掘概念与技术》学习笔记
《数据挖掘概念与技术》学习笔记
1.Chapter1 引论:
(1) OLTP 和 OLAP 概念:
OLTP(on-line transaction processing) 联机事物处理,就是我们经常说的关系数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。例如:mysql
OLAP(on-line analytical processing) 联机分析处理,是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。例如:hive+hdfs。
(2) 数据仓库概念:
数据仓库是一个面向主题的(subject-oriented)、集成的(integrated)、时变的(time-variant)、非易失的(nonvolatile)数据集合,支持管理者的决策过程。
ps:上面是比较官网的定义,更白话一点就是:数据仓库是一种多个异构数据源在单个站点以统一的模式组织的存储,以支持管理决策。
(3) 数据挖掘的步骤(KDD):
数据清理(清除噪声和删除不一致数据)。
数据集成(多种数据源可以组合在一起)。
数据选择(从数据库中提取和分析任务相关的数据)。
数据变换(通过汇总或聚集操作,把数据变换和统一成适合数据挖掘的形式。
数据挖掘(基本步骤,使用智能方法提取数据模式)。
数据评估(根据某种兴趣度度量,识别代表知识的真正有趣的模式)。
知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识)。
ps:数据挖掘是从大量数据中挖掘有趣模式和知识的过程,数据源包括数据库、数据仓库、Web、其他信息存储库或动态地流入系统的数据。
(4) 离群点分析:
数据集中可能包含一些数据对象,他们与数据的一般行为或模型不一致。这些数据对象是离群点(outlier)。大部分数据挖掘方法都将离群点视为噪声或异常而丢弃。
(5) 多维数据挖掘(又称探索式数据挖掘)把数据挖掘的核心技术和OLAP的多维分析结合在一起。他在不同的抽象层的多维(属性)组合中搜索有趣的模式,从而探索多维数据空间。
2.Chapter2 认识数据:
(1)各种数的定义:
众数:众数是数据集中心的一种中心度量趋势,数据集的众数是集合中出现最频繁的的值。
中列数:中列数也可以用来评估数值数据的中心趋势。中列数是数据集中的最大和最小值的平均值。
中位数:对于倾斜(非对称)数据,数据中心的最好度量是中位数。中位数是有序数值的中间值。它把数据较高的一半和较低的一半分开的值。
分位数:分位数根据其数据列等分的形式不同可以分为中位数、四分位数、十分位数、百分位数等等。四分位数作为分位数的一种形式,在统计中有十分重要的意义和作用。人们经常会将数据划分为4个部分,每个部分大约包含1/4和25%的数据项。这种划分的临界点即为四分位数。他们定义如下:
Q1=第一个四分位数,即第25百分位数。
Q2=第二个四分位数,即第50百分位数。
Q3=第三个四分位数,即第75百分位数。
(2)距离:
欧式距离:欧式距离(Euclidean distance)也称欧几里得距离,他是一个通常采用的距离定义,他是在m维空间中两个点之间的真实距离。
定义公式如下:d=sqrt( ∑(xi1-xi2)^2 ) 这里i=1,2..n
曼哈顿距离(计算两个街区之间的距离):
距离公式为:|x1-y1|+|x2-y2|+|x3-y3|+|x4-y4|+……+|xn-yn|(两点的坐标分别为(x1,x2,……,xn)、(y1,y2,……,yn))
闵可夫斯基距离:其是欧几里得距离和曼哈顿距离的推广。 公式定义为:
3.chapter3 数据预处理:
(1) 恒量数据质量的几个要素:准确性、完整性、一致性、时效性、可信性、可解释性。
(2) 数据预处理分为如下几个步骤:数据清理、数据集成、数据规约、数据交换。
数据清理:数据清理是通过填写缺失的值,光滑噪声数据,识别和删除离群点并解决不一致性来“清理”数据。
数据集成:整合多个数据库、数据立方体或文件,即数据集成。
数据规约(data reduction):得到数据集的简化表示,它小的多,但能够产生同样(或几乎同样的)分析结果。数据规约策略包括维规约和数值规约。在维规约中,使用数据编码方案,以便得到数据的简化或“压缩”表示。例如数据数据压缩技术(小波变化或主成分分析)。在数值规约中,使用参数模型(例如,回归和对数线性模型)或非参数模型(例如,直方图、聚类、抽样或数据聚集),用较小的表示取代数据。
(3)缺失值处理策略:
忽略缺失值、人工填写缺失值、使用一个全局常量填充缺失值、使用属性的中心度量(如均值或中位数)、使用与给定元祖属同一类的所有样本的属性均值或中位数、使用最可能的值填充缺失值。
(4)数据变换策略:
光滑(smoothing):去掉数据中的噪声。这类技术包括分箱、回归、和聚类。
属性构造:可以由给定的属性构造新的属性并添加到属性集中,以帮助挖掘过程。
聚集:对数据进行汇总或聚集。例如:可以聚集日销售数据,计算月销售或年销售数据,通常,这一步用来为多个抽象层的数据分析构造数据立方体。
规范化:把属性数据按比例缩放,使之落入一个特定的小区间,例如 -1 ~ 1。
离散化:数值属性(例如:年龄)的原始值,可以用数值区间替换使其离散化。
由标称数据产生概念分层:属性,如street,可以泛化到较高的概念层,例如city或country。
4.chapter4 数据仓库和联机分析处理(OLAP):
(1) OLTP和OLAP的主要区别如下:
=>用户和系统的面向性:OLTP是面向顾客的,用于办事员、客户和信息技术专业人员的事物和查询处理。OLAP是面向市场的,用于知识工人(包括经理、主管和分析人员)的数据分析。
=>数据内容:OLTP系统管理当前数据。通常,这种数据台琐碎,很难用于决策。OLAP系统管理大量历史数据,提供汇总和聚集机制,并在不同的粒度层上存储和管理信息。这些特点使得数据更容易用于有根据的决策。
=>数据库设计:通常,OLTP系统采用实体-联系(ER)数据模型和面向应用的数据库设计。而OLAP系统通常采用星形或雪花模型和面向主题的数据库设计。
=>视图:OLTP系统主要关注一个企业或部门内部的当前数据,而不涉及历史数据或不同单位的数据。OLAP系统常常跨越数据库模式的多个版本。OLAP系统还处理来自不同单位的信息,以及由多个数据库集成的信息。 =>访问模式:OLTP系统的访问主要由短的原子事物组成。这种系统需要并发控制和恢复机制。然而,对OLAP系统的访问大部分是只读操作(由于大部分数据仓库存放历史数据,而不是最新数据)。
(2)数据仓库的分层结构:
底层是仓库数据库服务器 =》 中间层是OLAP服务器 =》 顶层是前端客户层。
(3)数据仓库模型: 企业仓库、数据集市、虚拟仓库。
=》企业仓库:企业仓库搜集了关于主题的所有信息,跨越整个企业。它提供企业范围内的数据集成,通常来自一个或多个操作系统数据库系统或外部信息提供者,并且是多功能的。
=>数据集市:数据集市包含企业范围数据的一个子集,对于特定的用户群是有用的。其范围限定于选定的主题。
=>虚拟仓库:虚拟仓库是操作数据库上视图的集合。为了有效的处理查询,只有一些可能的汇总视图被物化。虚拟仓库易于建立,但需要操作数据库服务器还有余力。
OLAP操作:
(4)上卷(roll-up)操作:上卷操作通过沿一个维的概念分层向上攀升或者通过维规约在数据立方体上进行聚集。
(5)下钻(drill-down):下钻是上卷的逆操作,它由不太详细的数据得到更详细的数据。下钻可以通过沿维的概念分层向下或引入附加的维来实现。
5.chapter5数据立方体技术:
(1)数据立方体由方体的格组成。每个方体都对应给定多维数据的不同程度的汇总。完全物化是指计算数据立方体格中的所有方体。部分物化是指选择性的计算格中方体单元的子集。冰山立方体是一种数据方体,它仅存储其聚集值(如count)大于某最小支持度阈值的立方体单元。
(2)4种有效的立方体计算方法:1)多路数据聚集Multiway,基于稀疏数组的、自底向上的、共享计算的物化整个数据立方体;2)BUC,通过探查有效的自顶向下的计算次序和排序计算冰山立方体;3)Star-Cubing,使用星树结构,集成自顶向下和自底向上计算,计算冰山立方体。4)外壳片段立方体,通过仅计算划分的立方体外壳片段,支持高维OLAP。
6.chapter6 数据频繁模式、关联和相关性:
(1) 关联规则挖掘首先找出频繁项集(项的集合,如A和B,满足最小支持度阀值,或任务相关元祖的百分比),然后,由他们产生形如A=》B的强关联规则。这些规则还满足最小置信度阀值。可以进一步分析关联,发现项集A和B之间具有统计相关性的相关规则。
(2) 对于频繁项集挖掘,已经开发了许多有效的、可伸缩的算法,由他们可以导出关联和相关规则。这些算法可以分为3类: 1)类Apriori算法; 2)基于频繁模式增长的算法,如:FP-growth; 3)使用垂直数据格式的算法。
(3) Apriori算法是为布尔关联规则挖掘频繁项集的原创性算法。它逐层进行发掘,利用先验性质:频繁项集的所有非空子集也都是频繁的。
(4) 频繁模式增长(FP-growth)是一种不产生候选的挖掘频繁项集方法。它构造一个高压缩的数据结构(FP树),压缩原来的数据库。与类Apriori方法使用产生-测试策略不同,它聚焦于频繁模式增长,避免了高代价的候选产生,可获得更高的效率。
7.Chapter 7
(1)稀有模式很少出现但特别有趣。负模式是其成员呈现负相关行为的模式。应该小心定义负模式,考虑零不变性性质。稀有模式和负模式可能凸显数据的异常行为,这肯能很有趣。
(2)基于约束的挖掘策略可以用来引导挖掘过程,挖掘和用户直观一致或满足某些约束的模式,许多用户包括单调性,反单调性,数据反单调性和简洁性。具有这些性质的约束可以正确的集成到数据挖掘过程中。
(3)为了减少挖掘返回的模式数量,我们可以代之以挖掘压缩模式或近似模式。压缩模式可以通过基于聚类概念定义代表模式来挖掘,而近似模式可以通过提取感知冗余的top-k模式(即k个代表模式的小集合,他们不仅具有高显著性,而且相互之间低冗余)来挖掘。
8.Chapter 8
(1) 分类是一种数据分析形式,它提取描述数据类的模型。分类器或分类模型预测类标号(类)。数据预测建立连续函数模型。分类和数值预测是两类主要的预测问题。
(2) 决策树归纳是一种自顶向下的树归纳算法,它使用一种属性选择度量为树的每个非树叶结点选择属性测试。ID3、C4.5和CART都是这种算法的例子,他们使用不同的属性选择度量。树剪枝算法试图通过减去反映数据中噪声的分枝、提高准确率。早期的决策树算法通常假定数据是驻留内存的。已经为可伸缩的树归纳提出了一些可伸缩的算法,如RainForest。
(3) 朴素贝叶斯分类基于后验概率的贝叶斯定理。它假定类条件独立,一个属性对给定分类的影响独立于其他属性的值。
(4) 分类器的构造与评估需要把标记的数据划分成训练集和测试集。保持、随机抽样、交叉验证和自助法都是用于这种划分的典型方法。
(5) 显著性校验和ROC曲线对于模型选择是有用的。显著性校验可以用来评估两个分类器准确率的差别是否处于偶然。ROC曲线绘制一个或多个分类器的真正例率(或灵敏性)与假正例率。
9.chapter9
(1) 不像朴素贝叶斯分类(它假定类条件独立),贝叶斯信念网络允许在变量子集之间定义类独立性。它提供了一种因果关系的图形模型,在其上进行学习。训练后的贝叶斯信念网络可以用来分类。
(2) 支持向量机(SVM)是一种用于线性和非线性数据的分类方法。它把数据源数据变换到较高维空间,使用称作支持向量的基本元组,从中发现分离数据的超平面。
(3) 主动学习是一种监督学习,它适合数据丰富、但类标号稀缺或难以获得的情况。学习算法可以主动的向用户学习询问类标号。为了保持低价,主动学习的目标是使用尽可能少的有标号的实例来获得高准确率。
10.chapter 10
(1) 簇是数据对象的集合,同一个簇中的对象彼此相似,而不同簇中的对象彼此相异。将物理或抽象对象的集合划分为相似的类的过程成为聚类。
(2) 聚类分析具有广泛的应用,包括商务智能,图像模式识别,Web搜索,生物学和安全。聚类分析可以作为独立的数据挖掘工具来获得数据分布的了解,也可以作为检测簇上运行的其他数据挖掘算法的预处理步骤。
(3) 划分方法:首先创建K个分区的初始集合,其中参数k是构建的分区数。然后,它采用迭代重定位技术,试图通过吧对象从一个簇移到另一个簇来改进划分的质量。典型的划分方法包括k-均值、k-中心点、CLARANS。
《数据挖掘概念与技术》学习笔记