-
绪章“大数据”时代背景
“大数据”时代背景
-
●0.1大数据时代
大数据时代
-
●0.2产业界与学术界的关注
产业界与学术界的关注
-
●0.3无所不在的数据
无所不在的数据
-
●0.4哪些公司在使用大数据技术
哪些公司在使用大数据技术
-
●0.5大数据应用存在的问题
大数据应用存在的问题
-
第一章数据挖掘概述
随着每个应用中的数据的急剧增长,数据挖掘迎合了当今社会对有效的、可伸缩的和灵活的数据分析的迫切需要。数据挖掘可以看作信息技术的自然进化,是一些相关学科和应用领域的交汇点。
数据挖掘是从海量数据中发现有趣模式的过程。作为知识发现过程,它通常包括数据清理、数据集成、数据选择、数据变换、模式发现、模式评估和知识表示。
作为一个应用驱动的领域,数据挖掘融汇来自其他一些领域的技术。这些领域包括统计学、机器学习、数据库和数据仓库系统,以及信息检索。数据挖掘研究与开发的多学科特点大大促进了数据挖掘的成功和广泛应用。如:数据挖掘有许多成功的应用,如商务智能、Web搜索、生物信息学、卫生保健信息学、金融、数字图书馆和数字政府。 -
●1.1为什么要进行数据挖掘
我们生活在大量数据日积月累的年代。信息过量,难以消化;数据丰富与知识匮乏。分析这些数据是一种重要需求。考察数据挖掘如何通过提供从数据中发现知识的工具来满足这种需求。我们观察数据挖掘为何被视为信息技术的自然进化的结果。
-
●1.2什么是数据挖掘
数据挖掘就是应用一系列技术从大型数据库或数据仓库的数据中提取人们感兴趣的信息和知识,这些知识或信息是隐含的、事先未知而潜在有用的,所提取的知识表示为概念、规则、规律和模式等形式。
数据挖掘的技术基础:作为一个应用驱动的领域,数据挖掘吸纳了诸如统计学、机器学习、模式识别、数据库和数据仓库、信息检索、可视化、算法、高性能计算和许多应用领域的大量技术。数据挖掘研究与开发的边缘学科特性极大地促进了数据挖掘的成功和广泛应用。本节我们给出一些对数据挖掘方法的发展具有重要影响的学科例子。
数据挖掘系统的组成:数据库、数据仓库,数据库或数据仓库服务器,知识库,数据挖掘引擎,模式评估模块,图形用户界面6大部分组成。
数据挖掘的过程:数据清理、数据集成、数据挖掘、模式评估、知识表达等5个部分。
好的数据挖掘结果:(1)易于被人理解;(2)在某种确信度上,对于新的或检验数据是有效的;(3)是潜在有用的;(4)是新颖的。 -
●1.3数据挖掘解决问题的思路
数据挖掘解决问题的思路:机器学习
-
●1.4挖掘什么类型的数据
作为一种通用技术,数据挖掘可以用于任何类型的数据,只要数据对目标应用是有意义的。对于挖掘的应用,数据的最基本形式是数据库数据、数据仓库数据和事务数据。数据挖掘也可以用于其他类型的数据(例如,数据流、有序/序列数据、图或网络数据、空间数据、文本数据、多媒体数据和万维网)。
-
●1.5常用数据挖掘算法
常用数据挖掘算法主要有:关联规则挖掘、分类、回归、聚类等算法。
一般而言,这些任务可以分为两类:描述性(descriptive)和预测性(predictive)。描述性挖掘任务刻画目标数据中数据的一般性质。预测性挖掘任务在当前数据上进行归纳,以便做出预测。 -
●1.6一些数据挖掘应用的例子
作为一个应用驱动的学科,数据挖掘已经在许多应用中获得巨大成功。我们不可能一一枚举数据挖掘扮演关键角色的所有应用。在知识密集的应用领域,如生物信息学和软件工程,数据挖掘的表现更需要深入处理,这已经超出本书的范围。
应用作为数据挖掘研究与开发的主要方面,其重要性不言而喻,为了解释这一点,我们简略讨论几个个数据挖掘非常成功和流行的应用例子:市场分析和管理——客户预测、市场分析和管理——客户细分、市场分析和管理——客户关注点、市场分析和管理——购物关联分析、欺诈检测、演化分析——股市预测等例子。 -
●1.7常用数据挖掘工具
主要介绍三类数据挖掘软件
1.商业数据挖掘软件:SAS公司的Enterprise Miner、IBM公司的SPSS Modeler。
2.开源数据挖掘软件:RapidMiner、KNIME、WEKA、Orange、
3.数据挖掘编程语言:R、python、matlab
-
第二章认识数据
本章主要内容是认识数据,从数据类型、基本描述性统计分析、数据相似性度量、以及可视化的方法几个方面认识数据的特征。
数据可视化技术可以是基于像素的、基于几何学的、基于图标的或层次的。这些方法用于多维关系数据。已经提出了可用于复杂数据(如文本和社会网络)可视化的技术。
对象相似性和相异性度量用于诸如聚类、离群点分析、最近邻分类等数据挖掘应用中。这种邻近性度量可以对本章介绍的每种属性类型或这些属性类型的组合进行计算。例子包括用于非对称二元属性的Jacard系数,用于数值属性的欧几里得距离、曼哈顿距离、闵可夫斯基距离。对于涉及稀疏数值数据向量(如词频向量)的应用,通常余弦度量评估。 -
●2.1数据对象与属性类型
数据集由数据对象组成。一个数据对象代表一个实体。例如,在销售数据库中,对象可以是顾客、商品或销售;在医疗数据库中,对象可以是患者;在大学的数据库中,对象可以是学生、教授和课程。通常,数据对象用属性描述。数据对象又称样本、实例、数据点或对象。如果数据对象存放在数据库中,则它们是数据元组。也就是说,数据库的行对应于数据对象,而列对应于属性。本节,我们定义属性,并且考察各种属性类型。本课程主要介绍以下4中类型的数据:
数据集由数据对象组成。数据对象代表实体。数据对象用属性描述。属性可以是标称的、二元的、序数的或数值的。
标称(或分类)属性的值是符号或事物的名字,其中每个值代表某种类别、编码或状态。
二元属性是仅有两个可能状态(如1和0,或真与假)的标称属性。如果两个状态同等重要,则该属性是对称的,否则它是非对称的。
序数属性是其可能的值之间具有意义的序或排位,但相继值之间的最值未知的属性。
数值属性是定量的(即它是可测量的量),用整数或实数值表示。数值属性的类型可以是区间标度的或比率标度的。区间标度属性的值用固定、相等的单位测量。比率标度属性是具有固有0点的数值属性。度量称为比率标度的,因为我们可以说它们的值比测量单位大多少倍。 -
●2.2数据的基本统计描述
对于成功的数据预处理而言、把握数据的全貌是至关重要的。基本统计描述可以用来识别数据的性质,凸显哪些数据值应该视为噪声或离群点。
本节讨论两类基本统计描述。(1)中心趋势度量,它度量数据分布的中部或中心位置,讨论均值、中位数、众数和中列数;(2)数据的散布,最常见度量是数据的极差、四分位数、四分位数极差、五数概括,以及数据的方差和标准差。 -
●2.3度量数据的相似性和相异性
本节给出相似性和相异性度量。相似性和相异性都称邻近性(proximity)。相似性和相似性是有关联的。相似性值越高,对象之间的相似性越大,如果两个对象不相似,则它们的相似性度量为0,两个对象完全相同,相似性度量为l。相异性度量正好相反,如果对象相同,则它返回值0,相异性值越高,两个对象越相异。
课程介绍两种数据结构:数据矩阵(用于存放数据对象)和相异性矩阵(用于存放数据对象对的相异性值)。然后,我们分别讨论如何计算被标称属性、二元属性、数值属性、序数属性和被这些属性类型组合刻画的对象的相异性。 -
●2.4数据可视化
数据可视化(data visualization)旨在通过图形表示清晰有效地表达数据。数据可视化已经在许多应用领域广泛使用。例如,我们可以在编写报告、管理工商企业运转、跟踪任务进展等工作中使用数据可视化。更流行地,我们可以利用可视化技术的优点,发现原始数据中不易观察到的数据联系。现在,人们还使用数据可视化制造乐趣和有趣的图案。
本节简要介绍数据可视化的基本概念。我们从存放在诸如关系数据库中的多维数据开始,讨论一些表示方法,柱状图、直方图、折线图、雷达图、散点图、饼图等。然后,我们讨论复杂数据对象和关系的可视化。
-
第三章数据预处理
现实世界中数据大体上都是不完整,不一致的脏数据,无法直接进行数据挖掘,或挖掘结果差强人意。为了提高数据挖掘的质量产生了数据预处理技术。 数据预处理有多种方法:数据清理,数据集成,数据变换,数据归约等。这些数据处理技术在数据挖掘之前使用,大大提高了数据挖掘模式的质量,降低实际挖掘所需要的时间。
数据质量用准确性、完整性、一致性、时效性、可信性和可解释性定义。质量基于数据的应用目的评估。
数据清理例程试图填补缺失的值,光滑噪声同时识别离群点,并纠正数据的不一致性。数据清理通常是一个两步的迭代过程,包括偏差检测和数据变换。
数据集成将来自多个数据源的数据整合成一致的数据存储。语义异种性的解决、元数据、相关分析、元组重复检测和数据冲突检测都有助于数据的顺利集成。
数据归约得到数据的归约表示,而使得信息内容的损失最小化。数据归约方法包括维归约、数量归约和数据压缩。维归约减少所考虑的随机变量或维的个数,方法包括小波变换、主成分分析、属性子集选择和属性创建。数量归约方法使用参数或非参数模型,得到原数据的较小表示。参数模型只存放模型参数,而非实际数据。例如回归和对数线性模型。非参数方法包括直方图、聚类、抽样和数据立方体聚集。数据压缩方法使用变换,得到原数据的归约或“压缩”表示。如果原数据可以由压缩后的数据重构,而不损失任何信息,则数据压缩是无损的;否则,它是有损的。
数据变换例程将数据变换成适于挖掘的形式。例如,在规范化中,属性数据可以缩放,使得它们可以落在较小的区间,如0.0到1.0。其他例子包括数据离散化和概念分层产生。
数据离散化通过把值映射到区间或概念标号变换数值数据。这种方法可以用来自动地产生数据的概会分层,而概念分层允许在多个粒度层进行挖掘。离散化技术包括分箱、直方图分析、聚类分析、决策树分析和相关分析。对于标称数据,概念分层可以基于模式定义以及每个属性的不同值个数产生。
尽管已经开发了许多数据预处理的方法,由于不一致或脏数据的数量巨大,以及问题本身的复杂性,数据预处理仍然是一个活跃的研究领域。 -
●3.1为什么要预处理数据
高质量的决策必须依赖高质量的数据,本节概述数据预处理。解释定义数据质量的一些要素,概述数据预处理的主要任务。
-
●3.2数据质量的多维度量
数据质量的多维度量:精确度、完整度、一致性、时效性、可信度、可解释性、可访问性。
-
●3.3数据预处理的主要方法
数据与处理主要方法包括:数据清理(data cleaning )、数据集成(data integration )、数据归约(data reduction )、数据变换(Data transformation)
3.3.1.数据清理
现实世界的数据一般是不完整的、有噪声的和不一致的。数据清理过程试图填充缺失的值、光滑噪声并识别离群点、纠正数据中的不一致。本节我们将研究数据清理的基本方法、考察处理缺失值的方法、解释数据光滑技术。
3.3.2.数据集成
数据挖掘经常需要数据集成合并来自多个数据存储的数据。但数据语义的多样性和结构对数据集成提出了巨大的挑战。集成有助于减少结果数据集的冗余和不一致,讨论数据值的冲突和解决方法。这有助于提高其后挖掘过程的准确性和速度。
3.3.3.数据归约
数据归约(data reduction)技术可以用来得到较小的数据集,但仍接近于保持原始数据的完整性。也就是说,在归约后的数据集上挖掘将更有效,仍然能够产生相同(或几乎相同)的分析结果。本节将概述数据归约的概念,然后进一步考察每种规约方法。
3.3.4.数据变换与数据离散化
本节介绍数据变换方法、讨论数据离散化。数据被变换或统一,使得挖掘过程可能更有效,挖掘的模式可能更容易理解。数据离散化是一种数据变换形式。
-
第四章数据仓库与联机分析处理
数据仓库与联机分析处理
-
●4.1数据仓库的定义
数据仓库是一个面向主题的、集成的、非易失的且随时间变化的数据集合,用于支持管理人员的决策。
-
●4.2数据粒度
粒度是指数据仓库的数据单位中保存数据的细化或综合程度的级别。
-
●4.3基于关系表的数据存储
最流行的数据仓库概念模型是多维数据模型。这种模型可以以星型模式、雪花模式、或事实星座模式的形式存在。
-
●4.4OLAP
联机分析处理(OnLine Analysis Processing,OLAP)在数据仓库系统中,联机分析处理是重要的数据分析工具。
OLAP的基本思想是从多方面和多角度以多维的形式来观察企业的状态和了解企业的变化。 -
●4.5OLAP的基本操作
数据切片:多维数据是由多个维度组成的,如果在某个维度上选定一个取值,则多维数据从n维下降成n-1维
数据切块:将完整的数据立方体切取一部分数据而得到的新的数据立方体。
数据钻取(下钻):从较高的维度层次下降到较低的维度层次上来观察多维数据
数据聚合(上卷):对数据进行高层次综合的操作
数据旋转:改变维度的位置关系,使最终用户可从其他视角来观察多维数据。
-
第五章关联规则挖掘
大量数据中的频繁模式、关联和相关关系的发现在选择性销售、决策分析和商务管理方面是有用的。一个流行的应用领域是购物篮分析,通过搜索经常一起(或依次)购买的商品的集合,研究顾客的购买习惯。
关联规则挖掘首先找出频繁项集(项的集合,如A和B,满足最小支持度阀值,或任务相关元组的百分比),然后,由它们产生形如A>B的强关联规则。这些规则还满足最小置信度阀值(预定义的、在满足A的条件下满足B的概率)。可以进一步分析关联,发现项集A和B之间具有统计相关性的相关规则。 -
●5.1关联规则挖掘的分类
关联规则挖掘分为:布尔关联规则、定量关联规则、多维关联规则、多层关联规则等几类。
-
●5.2关联规则挖掘的基本概念
关联规则挖掘就是从大量的数据中挖掘出有价值描述数据项之间相互联系的有关知识。
-
●5.3Apriori算法
Apriori算法是为布尔关联规则挖掘频繁项集的原创性算法。它逐层进行挖掘,利用先验性质:频繁项集的所有非空子集也都是频繁的。在第k次迭代(k>=2),它根据频繁(k-1)项集形成k项集候选,并扫描数据库一次,找出完整的频繁k项集的集合L.。使用涉及散列和事务压缩技术的变形使得过程更有效。其他变形包括划分数据(对每分区挖掘,然后合并结果)和抽样数据(对数据子集挖掘)。这些变形可以将数据扫描次数减少到一两次。
-
●5.4关联规则挖掘的应用场景
介绍5个关联规则挖掘的小例子。
-
第六章聚类分析
从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。
聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用方法的不同,常常会得到不同的结论。不同研究者对于同一组数据进行聚类分析,所得到的聚类数未必一致。 -
●6.1什么是聚类分析
聚类分析是将物理或抽象对象,按照属性相似性划分为若干组的过程
从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。
分割方法:K-means(k-均值)、 k-medoids (k-中心)
分层次方法:ROCK 、 Chemeleon
基于密度的方法:DBSCAN
基于网格的方法:STING 、 WaveCluster
基于模型的方法:
其中,k-均值、k-中心点等算法的聚类分析工具已被加入到许多著名的统计分析软件包中,如SPSS、SAS等。 -
●6.2k-means聚类算法
k-means算法,也被称为k-平均或k-均值,是一种得到最广泛使用的聚类算法。
它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,通过迭代过程把数据集划分为不同的类别,从而使生成的每个聚类内紧凑,类间独立。
这一算法不适合处理离散型属性,但是对于连续型具有较好的聚类效果。 -
●6.3k-means聚类算法的优缺点
主要优点:
是解决聚类问题的一种经典算法,简单、快速。
对处理大数据集,该算法是相对可伸缩和高效率的。因为它的复杂度是0 (n k t ) , 其中, n 是所有对象的数目, k 是类的数目, t 是迭代的次数。通常k <当结果类是密集的,而类与类之间区别明显时, 它的效果较好。
主要缺点
适用于数值属性,这对于处理符号属性的数据不适用。
必须事先给出k(要生成的类的数目)
对初值敏感,对于不同的初始值,可能会导致不同结果。
各类的规模、密度都影响聚类结果
以欧式距离为准,缺少发现任意形状距离的聚类能力
有异常点,往往影响聚类效果 -
●6.4k-medoids 聚类算法
k-medoids 算法看起来和K-means比较相似,但是K-medoids和K-means是有区别的,不一样的地方在于中心点的选取,在K-means中,我们将中心点取为当前cluster中所有数据点的平均值,在 K-medoids算法中,我们将从当前cluster 中选取这样一个点——它到其他所有(当前cluster中的)点的距离之和最小——作为中心点。
-
第七章分类
分类是一种数据分析形式,它提取描述数据类的模型。分类器或分类模型预测类别标号(类)。数值预测建立连续值函数模型。分类和数值预测是两类主要的预测问题。
-
●7.1分类的基本知识
分类的目的是根据数据集的特点构造一个分类函数或分类模型(也常常称作分类器),该模型能把未知类别的样本映射到给定类别中的某一个。
根据训练数据集和类标号属性,构建分类器,并用来划分新数据。
分类的基本过程为三个步骤:
第一步,建立一个模型,描述预定数据类集和概念集
第二步,评估模型,模型的预测准确率
第三步,使用模型 -
●7.2分类数据的预处理
在执行分类算法之前做数据预处理,着重讲述了特征提取用来消除对分类不起关键作用的属性,基于属性泛化的方法将连续数据值数据离散化。
-
●7.3决策树算法
决策树是用样本的属性作为结点,用属性的取值作为分支的树结构。它是利用信息论原理对大量样本的属性进行分析和归纳而产生的。决策树的根结点是所有样本中信息量最大的属性。树的中间结点是以该结点为根的子树所包含的样本子集中信息量最大的属性。决策树的叶结点是样本的类别值。
决策树用于对新样本的分类,即通过决策树对新样本属性值的测试,从树的根结点开始,按照样本属性的取值,逐渐沿着决策村向下,直到树的叶结点,该叶结点表示的类别就是新样本的类别。决策树方法是数据挖掘中非常有效的分类方法。 -
●7.4ID3算法
ID3算法是一种贪心算法,用来构造决策树。ID3算法起源于概念学习系统(CLS),以信息熵的下降速度为选取测试属性的标准,即在每个节点选取还尚未被用来划分的具有最高信息增益的属性作为划分标准,然后继续这个过程,直到生成的决策树能完美分类训练样例。
-
●7.5ID3算法算例
以购买电脑的客户数据为例,介绍ID3算法的计算过程。
-
●7.6分类模型的评估
混淆矩阵可以用来评估分类器的质量。对于两类问题,它显示真正例、真负例、假正例、假负例。评估分类器预测能力的度量包括准确率、灵敏度(又称为召回率)、特效性、精度、F和F。
显著性检验和ROC曲线对于模型选择是有用的。显著性检验可以用来评估两个分类器准确率的差别是否出于偶然。ROC曲线绘制一个或多个分类器的真正例率(或灵敏性)与假正例率(或1- specificity)。