1、第三周:2012/9/11 第五讲:数据挖掘简介 1. 数据库中的知识发现(Knowledge Discovery in Database, KDD):它是从大量的、不完整的、有噪声的、模糊的和随机的数据集中,提取隐含在其中的、事先不知道的、可信的、潜在的和有价值的信息与知识的过程。。主要包括数据准备、数据挖掘、数据挖掘结果解释与评估三个阶段,是一个交互式、循环反复的整体过程。 图:KDD、数据挖掘与数据仓库 2. 数据库中的知识发现过程一般由以下步骤组成 ① 数据清理(消除噪音或不一致数据) ② 数据集成(多种数据源可以组合在一起) ③ 数据选择(从数据库中检索与分析任
2、务相关的数据) ④ 数据变换(数据变换或统一成适合挖掘的形式,如通过汇总或聚集操作) ⑤ 数据挖掘(基本步骤,使用智能方法提取数据模式) ⑥ 模式评估(根据某种兴趣度度量,识别表示知识的真正有趣的模式) ⑦ 知识表示(使用可视化和知识表示技术,向用户提供挖掘的知识) 由此可见,数据挖掘是数据库中知识发现的一个步骤,并且是最重要的一个步骤。 3. 数据挖掘:从大量的数据中挖掘人们感兴趣的、有用的、隐含的、先前未知的和可能有用的模式或知识。在人工智能和机器学习等研究领域,习惯上又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),在统
3、计分析、数据分析、数据库等工程领域则称为数据挖掘。 一般的看法是把数据挖掘视为数据库中知识发现过程的一个基本步骤。 4. 数据挖掘的分类 ① 根据所挖掘的数据库分类:关系数据库,事务数据库,流式数据,面向对象数据库,对象关系数据库,数据仓库,空间数据库,时序数据库,文本数据库,多媒体数据库,异构数据库,历史数据库,WWW ② 根据所使用的技术和方法分类:有监督的数据挖掘、无监督的数据挖掘、交互式数据挖掘、发现驱动的数据挖掘交互式数据挖掘、机器学习类数据挖掘、可视化数据挖掘等。 ③ 根据数据挖掘的知识类型来分:关联规则挖掘、特征规则挖掘、分类规则挖掘、聚类规则挖掘、时序规则挖掘、偏差规则
4、挖掘、孤立点挖掘。 ④ 根据数据挖掘应用的领域分类:商业领域,如电信、金融、零售业、医疗卫生体育运动、股票市场、Web挖掘等。科研领域,如DNA分析、天文等。 5. 数据挖掘的任务(功能与目的) ① 概念/类描述: 特性化和区分:为数据的特征化和比较产生描述(当所描述的概念所指的是一类对象时,也称为类描述)特征化:提供给定数据集的简洁汇总。 i. 例:对AllElectronic公司的“大客户”(年消费额$1000以上)的特征化描述:40-50岁,有固定职业,信誉良好,等等 ii. 区分:提供两个或多个数据集的比较描述 ② 分类(Classification):根据训练数据集和类标
5、号属性,构建模型来分类现有数据,并用来分类新数据(分类),用来预测类型标志未知的对象类(预测)。首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对于没有分类的数据进行分类。注意: 类的个数是确定的,预先定义好的。比如:按气候将国家分类,按汽油消耗定额将汽车分类;导出模型的表示: 判定树、分类规则、神经网络;可以用来预报某些未知的或丢失的数字值 ③ 估计(Estimation):估计与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。例: i. 根据购买模式,估计一个家庭的孩子个数
6、 ii. 根据购买模式,估计一个家庭的收入 一般来说,估值可以作为分类的前一步工作。给定一些输入数据,通过估值,得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 0~1)。然后,根据阈值,将贷款级别分类。 ④ 趋势预测(Prediction):通常,预测是通过分类或估值起作用的,也就是说,通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。 ⑤ 关联规则或相
7、关性分组(Association rules or Affinity grouping)从事务数据库,关系数据库和其他信息存储中的大量数据的项集之间发现有趣的、频繁出现的模式、关联和相关性,决定哪些事情将一起发生,广泛的用于购物篮或事务数据分析。例: i. 超市中客户在购买A的同时,经常会购买B,即A => B(关联规则) ii. 客户在购买A后,隔一段时间,会购买B (序列分析) ⑥ 聚类(Clustering):将物理或抽象对象的集合分组成为由类似的对象组成的多个类的过程。最大化类内的相似性和最小化类间的相似性例:对WEB日志的数据进行聚类,以发现相同的用户访问模式。聚类和分类的区
8、别是聚集不依赖于预先定义好的类,不需要训练集。 ⑦ 序列模式发现sequential pattern ⑧ 数据总结:将数据库中的大量相关数据从较低层次抽象到较高层次的过程。最为具体的表现就是计数、求和等。 ⑨ 依赖关系或依赖模型的发现,通过对数据进行分析,发现数据之间的某种因果关系。 ⑩ 异常检测:发现数据存在的偏差或异常值。 i. 信用卡欺诈检测 ii. 移动电话欺诈检测 iii. 客户划分医疗分析(异常 iv. 反恐 ⑪ 数据描述和可视化(Description and Visualization) 6. 数据挖掘的基本步骤 ① 理解数据和数据的来源(understa
9、nding)。 ② 获取相关知识与技术(acquisition)。 ③ 整合与检查数据(integration and checking)。 ④ 去除错误或不一致的数据(data cleaning)。 ⑤ 建立模型和假设(model and hypothesis development)。 ⑥ 实际数据挖掘工作(data mining)。 ⑦ 测试和验证挖掘结果(testing and verification)。 ⑧ 解释和应用(interpretation and use)。 由上述步骤可看出,数据挖掘牵涉了大量的准备工作与规划工作,事实上许多
10、专家都认为整套数据挖掘的过程中,有80%的时间和精力是花费在数据预处理阶段,其中包括数据的净化、数据格式转换、变量整合,以及数据表的链接。可见,在进行数据挖掘技术的分析之前,还有许多准备工作要完成。 7. 数据挖掘的对象 ① 关系数据库 ② 数据仓库 ③ 事务数据库 ④ 高级数据库系统和信息库 i. 空间数据库 ii. 时间数据库和时间序列数据库 iii. 流数据 iv. 多媒体数据库 v. 面向对象数据库和对象-关系数据库 vi. 异种数据库和历史(legacy)数据库 vii. 文本数据库和万维网(WWW) 8. 数据挖掘十大经典算法 ① C4.5:是机
11、器学习算法中的一种分类决策树算法,其核心算法是ID3算法。 ② K-means算法:是一种聚类算法。 ③ SVM:一种监督式学习的方法,广泛运用于统计分类以及回归分析中 ④ Apriori :是一种最有影响的挖掘布尔关联规则频繁项集的算法。 ⑤ EM:最大期望值法。 ⑥ pagerank:是google算法的重要内容。 ⑦ Adaboost:是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器然后把弱分类器集合起来,构成一个更强的最终分类器。 ⑧ KNN:是一个理论上比较成熟的的方法,也是最简单的机器学习方法之一。 ⑨ Naive Bayes:在众多分类方法中,应用最广泛的有决策树模型和朴素贝叶斯(Naive Bayes) ⑩ Cart:分类与回归树,在分类树下面有两个关键的思想,第一个是关于递归地划分自变量空间的想法,第二个是用验证数据进行减枝。 9. 用SQL可以做什么? ① –上个季度卖出了什么商品? ② –给我列出上月每个部门的总销售量 ③ –哪个销售员卖出的商品最多 10. Data Mining又能做什么? ① –预测新顾客的信誉风险 ② –检查商品销售变差的原因






