《什么是数据挖掘》由会员分享,可在线阅读,更多相关《什么是数据挖掘(17页珍藏版)》请在金锄头文库上搜索。
1、什么是数据挖掘数据挖掘 (Data Mining) ,又称为数据库中的知识发现(Knowledge Discovery in Database, KDD),就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“ 挖掘 ” 知识。并非所有的信息发现任务都被视为数据挖掘。例如, 使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web 页面,则是信息检索(information retrieval)领域的任务。虽然这些任务是重要的,可能涉及使用复杂的算法和数据结构,但是它们主要依赖传统的计算机科学技术和数据的明显特征
2、来创建索引结构,从而有效地组织和检索信息。尽管如此,数据挖掘技术也已用来增强信息检索系统的能力。数据挖掘的起源为迎接前一节中的这些挑战,来自不同学科的研究者汇集到一起,开始着手开发可以处理不同数据类型的更有效的、可伸缩的工具。这些工作建立在研究者先前使用的方法学和算法之上,在数据挖掘领域达到高潮。特别地, 数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的抽样、 估计和假设检验, (2) 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用
3、。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能 (并行) 计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。数据挖掘能做什么1)数据挖掘能做以下六种不同事情(分析方法):分类(Classification )估值( Estimation )预言( Prediction )相关性分组或关联规则(Affinity grouping or association rules)聚集( Clustering )描述和可视化(Des cription and Visualization)复杂数据类型挖掘(Text
4、, Web , 图形图像,视频,音频等) 2)数据挖掘分类以上六种数据挖掘的分析方法可以分为两类:直接数据挖掘;间接数据挖掘直接数据挖掘目标是利用可用的数据建立一个模型,这个模型对剩余的数据,对一个特定的变量 (可以理解成数据库中表的属性,即列)进行描述。间接数据挖掘目标中没有选出某一具体的变量,用模型进行描述;而是在所有的变量中建立起某种关系。分类、估值、预言属于直接数据挖掘;后三种属于间接数据挖掘3)各种分析方法的简介分类(Classification )首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型, 对于没有分类的数据进行分类。例子:a. 信用卡申
5、请者,分类为低、中、高风险b. 分配客户到预先定义的客户分片注意:类的个数是确定的,预先定义好的估值( Estimation )估值与分类类似,不同之处在于,分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。例子:a. 根据购买模式,估计一个家庭的孩子个数b. 根据购买模式,估计一个家庭的收入c. 估计 real estate的价值一般来说, 估值可以作为分类的前一步工作。给定一些输入数据,通过估值, 得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给各个客户记分(Score 01 )。然后,根据阈
6、值,将贷款级别分类。预言( Prediction )通常,预言是通过分类或估值起作用的,也就是说,通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。相关性分组或关联规则(Affinity grouping or association rules)决定哪些事情将一起发生。例子:a. 超市中客户在购买A 的同时,经常会购买B,即 A = B( 关联规则 ) b. 客户在购买A 后,隔一段时间,会购买B (序列分析)聚集( Clusteri
7、ng )聚集是对记录分组,把相似的记录在一个聚集里。聚集和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。例子:a. 一些特定症状的聚集可能预示了一个特定的疾病b. 租 VCD 类型不相似的客户聚集,可能暗示成员属于不同的亚文化群聚集通常作为数据挖掘的第一步。例如,哪一种类的促销对客户响应最好?,对于这一类问题,首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。描述和可视化(Des cription and Visualization)是对数据挖掘结果的表示方式。数据挖掘的一般流程 定义问题:清晰地定义出业务问题,确定数据挖掘的目的。 数据准备
8、:数据准备包括:选择数据-在大型数据库和数据仓库目标中提取数据挖掘的目标数据集;数据预处理-进行数据再加工,包括检查数据的完整性及数据的一致性、去噪声,填补丢失的域,删除无效数据等。 数据挖掘:根据数据功能的类型和和数据的特点选择相应的算法,在净化和转换过的数据集上进行数据挖掘。 结果分析:对数据挖掘的结果进行解释和评价,转换成为能够最终被用户理解的知识。 知识的运用:将分析所得到的知识集成到业务信息系统的组织结构中去。数据挖掘的商业背景数据挖掘首先是需要商业环境中收集了大量的数据,然后要求挖掘的知识是有价值的。有价值对商业而言,不外乎三种情况:降低开销;提高收入;增加股票价格。数据挖掘技术实
9、现在技术上可以根据它的工作过程分为:数据的抽取、数据的存储和管理、数据的展现等关键技术。 数据的抽取数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面的处理。在数据抽取方面,未来的技术发展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使系统更便于管理和维护。 数据的存储和管理数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了其对外部数据的表现形式。数据仓库管理所涉及的数据量比传统事务处理大得多,
10、且随时间的推移而快速累积。在数据仓库的数据存储和管理中需要解决的是如何管理大量的数据、如何并行处理大量的数据、如何优化查询等。目前,许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将普通关系数据库改造成适合担当数据仓库的服务器。 数据的展现在数据展现方面主要的方式有:查询:实现预定义查询、动态查询、OLAP 查询与决策支持智能查询;报表:产生关系数据表格、复杂表格、 OLAP 表格、报告以及各种综合报表;可视化:用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态模拟、计算机动画技术表现复杂数据及其相互关系;统计:进行平均值、最大值、最小值、期望、方差、汇总、排序等各种统计分
11、析;挖掘:利用数据挖掘等方法,从数据中得到关于数据关系和模式的知识。数据挖掘与数据仓库融合发展数据挖掘和数据仓库的协同工作,一方面,可以迎合和简化数据挖掘过程中的重要步骤,提高数据挖掘的效率和能力,确保数据挖掘中数据来源的广泛性和完整性。另一方面,数据挖掘技术已经成为数据仓库应用中极为重要和相对独立的方面和工具。数据挖掘和数据仓库是融合与互动发展的,其学术研究价值和应用研究前景将是令人振奋的。它是数据挖掘专家、数据仓库技术人员和行业专家共同努力的成果,更是广大渴望从数据库“ 奴隶 ” 到数据库 “ 主人 ”转变的企业最终用户的通途。数据挖掘 (Data Mining) ,又称为数据库中的知识发
12、现(Knowledge Discovery in Database, KDD) ,就是从大量数据中获取有效的、新颖的、潜在有用的、最终可理解的模式的非平凡过程,简单的说,数据挖掘就是从大量数据中提取或“ 挖掘 ” 知识。1. 数据挖掘能做什么?1)数据挖掘能做以下六种不同事情(分析方法): 分类(Classification ) 估值( Estimation) 预言( Prediction ) 相关性分组或关联规则(Affinity grouping or association rules) 聚集( Clustering ) 描述和可视化(Des cription and Visualiza
13、tion ) 复杂数据类型挖掘(Text, Web ,图形图像,视频,音频等) 2)数据挖掘分类以上六种数据挖掘的分析方法可以分为两类:直接数据挖掘;间接数据挖掘 直接数据挖掘目标是利用可用的数据建立一个模型,这个模型对剩余的数据,对一个特定的变量(可以理解成数据库中表的属性,即列)进行描述。 间接数据挖掘目标中没有选出某一具体的变量,用模型进行描述; 而是在所有的变量中建立起某种关系 。 分类、估值、预言属于直接数据挖掘;后三种属于间接数据挖掘3)各种分析方法的简介 分类(Classification )首先从数据中选出已经分好类的训练集,在该训练集上运用数据挖掘分类的技术,建立分类模型,对
14、于没有分类的数据进行分类。例子:a. 信用卡申请者,分类为低、中、高风险b. 分配客户到预先定义的客户分片注意:类的个数是确定的,预先定义好的 估值( Estimation)估值与分类类似,不同之处在于, 分类描述的是离散型变量的输出,而估值处理连续值的输出;分类的类别是确定数目的,估值的量是不确定的。例子:a. 根据购买模式,估计一个家庭的孩子个数b. 根据购买模式,估计一个家庭的收入c. 估计 real estate的价值一般来说, 估值可以作为分类的前一步工作。给定一些输入数据,通过估值, 得到未知的连续变量的值,然后,根据预先设定的阈值,进行分类。例如:银行对家庭贷款业务,运用估值,给
15、各个客户记分(Score 01) 。然后,根据阈值,将贷款级别分类。预言( Prediction)通常, 预言是通过分类或估值起作用的,也就是说, 通过分类或估值得出模型,该模型用于对未知变量的预言。从这种意义上说,预言其实没有必要分为一个单独的类。预言其目的是对未来未知变量的预测,这种预测是需要时间来验证的,即必须经过一定时间后,才知道预言准确性是多少。 相关性分组或关联规则(Affinity grouping or association rules)决定哪些事情将一起发生。例子:a. 超市中客户在购买A 的同时,经常会购买B,即 A = B( 关联规则 ) b. 客户在购买A 后,隔一段
16、时间,会购买B (序列分析) 聚集( Clustering )聚集是对记录分组,把相似的记录在一个聚集里。聚集和分类的区别是聚集不依赖于预先定义好的类,不需要训练集。例子:a. 一些特定症状的聚集可能预示了一个特定的疾病b. 租 VCD 类型不相似的客户聚集,可能暗示成员属于不同的亚文化群聚集通常作为数据挖掘的第一步。例如,哪一种类的促销对客户响应最好?,对于这一 类问题, 首先对整个客户做聚集,将客户分组在各自的聚集里,然后对每个不同的聚集,回答问题,可能效果更好。 描述和可视化(Des cription and Visualization )是对数据挖掘结果的表示方式。2.数据挖掘的商业背
17、景数据挖掘首先是需要商业环境中收集了大量的数据,然后要求挖掘的知识是有价值的。有 价值对商业而言,不外乎三种情况:降低开销;提高收入;增加股票价格。3. 数据挖掘技术实现在技术上可以根据它的工作过程分为:数据的抽取、 数据的存储和管理、数据的展现等关键技术。 数据的抽取数据的抽取是数据进入仓库的入口。由于数据仓库是一个独立的数据环境,它需要通过抽取过程将数据从联机事务处理系统、外部数据源、脱机的数据存储介质中导入数据仓库。数据抽取在技术上主要涉及互连、复制、增量、转换、调度和监控等几个方面的处理。在数据抽取方面, 未来的技术发展将集中在系统功能集成化方面,以适应数据仓库本身或数据源的变化,使系
18、统更便于管理和维护。 数据的存储和管理数据仓库的组织管理方式决定了它有别于传统数据库的特性,也决定了其对外部数据的表现形式。 数据仓库管理所涉及的数据量比传统事务处理大得多,且随时间的推移而快速累积。在数据仓库的数据存储和管理中需要解决的是如何管理大量的数据、如何并行处理大量的数据、 如何优化查询等。目前, 许多数据库厂家提供的技术解决方案是扩展关系型数据库的功能,将普通关系数据库改造成适合担当数据仓库的服务器。数据的展现在数据展现方面主要的方式有:查询:实现预定义查询、动态查询、OLAP 查询与决策支持智能查询;报表:产生关系数据表格、 复杂表格、 OLAP 表格、 报告以及各种综合报表;可
19、视化: 用易于理解的点线图、直方图、饼图、网状图、交互式可视化、动态模拟、计算机动画技术表现复杂数据及其相互关系;统计:进行平均值、最大值、最小值、期望、方差、汇总、排序等各种统计分析;挖掘:利用数据挖掘等方法,从数据中得到关于数据关系和模式的知识。数据挖掘与数据仓库融合发展数据挖掘和数据仓库的协同工作,一方面,可以迎合和简化数据挖掘过程中的重要步骤,提高数据挖掘的效率和能力,确保数据挖掘中数据来源的广泛性和完整性。另一方面, 数据挖掘技术已经成为数据仓库应用中极为重要和相对独立的方面和工具。数据挖掘和数据仓库是融合与互动发展的,其学术研究价值和应用研究前景将是令人振奋的。 它是数据挖掘专家、
20、数据仓库技术人员和行业专家共同努力的成果,更是广大渴望从数据库 “ 奴隶 ” 到数据库 “ 主人 ” 转变的企业最终用户的通途。 数据收集和数据存储技术的快速进步使得各组织机构可以积累海量数据。然而,提取有用的信息已经成为巨大的挑战。通常, 由于数据量太大,无法使用传统的数据分析工具和技术处理它们。有时, 即使数据集相对较小,由于数据本身的非传统特点,也不能使用传统的方法处理。 在另外一些情况下,需要回答的问题不能使用已有的数据分析技术来解决。这样,就需要开发新的方法。数据挖掘是一种技术,它将传统的数据分析方法与处理大量数据的复杂算法相结合。数据挖掘为探查和分析新的数据类型以及用新方法分析旧有
21、数据类型提供了令人振奋的机会。本章,我们概述数据挖掘,并列举本书所涵盖的关键主题。我们从介绍需要新的数据分析技术的一些著名应用开始。商务借助 POS (销售点)数据收集技术 条码扫描器、射频识别(RFID )和智能卡技术 ,零售商可以在其商店的收银台收集顾客购物的最新数据。零售商可以利用这些信息, 加上电子商务网站的日志、 电购中心的顾客服务记录等其他的重要商务数据,更好地理解顾客的需求,做出更明智的商务决策。数据挖掘技术可以用来支持广泛的商务智能应用,如顾客分析、 定向营销、 工作流管理、商店分布和欺诈检测等。 数据挖掘还能帮助零售商回答一些重要的商务问题,如“谁是最有价值的顾客?” “什么
22、产品可以交叉销售或提升销售?”“公司明年的收入前景如何?” 这些问题催生了一种新的数据分析技术关联分析(见第 6、7 章)。医学、科学与工程医学、科学与工程技术界的研究者正在快速积累大量数据,这些数据对获得有价值的新发现至关重要。例如,为了更深入地理解地球的气候系统, NASA 已经部署了一系列的地球轨道卫星,不停地收集地表、海洋和大气的全球观测数据。 然而,由于这些数据的规模和时空特性,传统的方法常常不适合分析这些数据集。数据挖掘开发的技术可以帮助地球科学家回答如下问题:“干旱和飓风等生态系统扰动的频度和强度与全球变暖之间有何联系?”“海洋表面温度对地表降水量和温度有何影响?” “如何准确地
23、预测一个地区的生长季节的开始和结束?”再举一个例子, 分子生物学研究者希望利用当前收集的大量基因组数据,更好地理解基因的结构和功能。 过去, 传统方法只允许科学家在一个实验中每次研究少量基因。微阵列技术的最新突破已经能让科学家在多种情况下,比较数以千计的基因的特性。这种比较有助于确定每个基因的作用,或许可以查出导致特定疾病的基因。然而,由于数据的噪声和高维性,需要新的数据分析方法。除分析基因序列数据外,数据挖掘还能用来处理生物学的其他难题,如蛋白质结构预测、多序列校准、生物化学路径建模和种系发生学。1.1 什么是数据挖掘数据挖掘是在大型数据存储库中,自动地发现有用信息的过程。 数据挖掘技术用来
24、探查大型数据库, 发现先前未知的有用模式。 数据挖掘还具有预测未来观测结果的能力,例如,预测一位新的顾客是否会在一家百货公司消费100 美元以上。并非所有的信息发现任务都被视为数据挖掘。例如,使用数据库管理系统查找个别的记录,或通过因特网的搜索引擎查找特定的Web页面,则是信息检索( information retrieval)领域的任务。 虽然这些任务是重要的, 可能涉及使用复杂的算法和数据结构, 但是它们主要依赖传统的计算机科学技术和数据的明显特征来创建索引结构, 从而有效地组织和检索信息。 尽管如此, 数据挖掘技术也已用来增强信息检索系统的能力。数据挖掘与知识发现数据挖掘是数据库中知识发
25、现 (knowledge discovery in database, KDD)不可缺少的一部分,而 KDD 是将未加工的数据转换为有用信息的整个过程,如图1-1所示。该过程包括一系列转换步骤,从数据的预处理到数据挖掘结果的后处理。图 1-1 数据库中知识发现(KDD )过程输入数据可以以各种形式存储(平展文件、电子数据表或关系表),并且可以驻留在集中的数据存储库中,或分布在多个站点上。数据预处理(preprocessing)的目的是将未加工的输入数据转换成适合分析的形式。数据预处理涉及的步骤包括融合来自多个数据源的数据,清洗数据以消除噪声和重复的观测值,选择与当前数据挖掘任务相关的记录和特征
26、。由于收集和存储数据的方式可能有许多种,数据预处理可能是整个知识发现过程中最费力、最耗时的步骤。“结束循环 (closing the loop)”通常指将数据挖掘结果集成到决策支持系统的过程。例如,在商务应用中, 数据挖掘的结果所揭示的规律可以与商务活动管理工具集成, 使得可以进行和测试有效的商品促销活动。这样的集成需要后处理(postprocessing )步骤,确保只将那些有效的和有用的结果集成到决策支持系统中。后处理的一个例子是可视化(见第3 章),它使得数据分析者可以从各种不同的视角探查数据和数据挖掘结果。在后处理阶段, 还能使用统计度量或假设检验,删除虚假的数据挖掘结果。1.2 引发
27、数据挖掘的挑战正如前面所提到的, 当面临新的数据集提出的挑战时,传统的数据分析技术常常遇到实际困难。下面是一些特定的挑战,它们引发了对数据挖掘的研究。可伸缩由于数据产生和收集技术的进步,数吉字节、数太字节甚至数拍字节的数据集越来越普遍。 如果数据挖掘算法要处理这些海量数据集,则算法必须是可伸缩的(scalable )。许多数据挖掘算法使用特殊的搜索策略处理指数性搜索问题。可伸缩可能还需要实现新的数据结构,以有效的方式访问个别记录。例如,当要处理的数据不能放进内存时,可能需要非内存算法。 使用抽样技术或开发并行和分布算法也可以提高可伸缩程度。高维性现在,常常遇到具有数以百计或数以千计属性的数据集
28、,而不是数十年前常见的只具有少量属性的数据集。在生物信息学领域, 微阵列技术的进步已经产生了涉及数千特征的基因表达数据。具有时间或空间分量的数据集也趋向于具有很高的维度。 例如,考虑包含不同地区的温度测量的数据集。如果温度在一个相当长的时间周期内重复地测量,则维度(特征数)的增长正比于测量的次数。为低维数据开发的传统的数据分析技术通常不能很好地处理这样的高维数据。此外,对于某些数据分析算法, 随着维度(特征数)的增加,计算复杂性迅速增加。异种数据和复杂数据通常,传统的数据分析方法只处理包含相同类型属性的数据集,或者是连续的,或者是分类的。随着数据挖掘在商务、科学、医学和其他领域的作用越来越大,
29、 越来越需要能够处理异种属性的技术。近年来,已经出现了更复杂的数据对象。 这些非传统的数据类型的例子包括含有半结构化文本和超链接的 Web页面集、具有序列和三维结构的DNA 数据、包含地球表面不同位置上的时间序列测量值(温度、气压等)的气象数据。为挖掘这种复杂对象而开发的技术应当考虑数据中的联系, 如时间和空间的自相关性、 图的连通性、 半结构化文本和 XML文档中元素之间的父子联系。数据的所有权与分布有时,需要分析的数据并非存放在一个站点,或归属一个单位,而是地理上分布在属于多个机构的资源中。这就需要开发分布式数据挖掘技术。分布式数据挖掘算法面临的主要挑战包括:(1) 如何降低执行分布式计算
30、所需的通信量? (2) 如何有效地统一从多个资源得到的数据挖掘结果?(3) 如何处理数据安全性问题?非传统的分析传统的统计方法基于一种假设检验模式。换句话说,提出一种假设,设计实验来收集数据, 然后针对假设分析数据。 但是,这一过程劳力费神。当前的数据分析任务常常需要产生和评估数以千计的假设,因此希望自动地产生和评估假设导致了一些数据挖掘技术的开发。此外,数据挖掘所分析的数据集通常不是精心设计的实验的结果,并且它们通常代表数据的时机性样本(opportunistic sample),而不是随机样本( random sample)。而且,这些数据集常常涉及非传统的数据类型和数据分布。1.3 数据
31、挖掘的起源为迎接前一节中的这些挑战, 来自不同学科的研究者汇集到一起,开始着手开发可以处理不同数据类型的更有效的、可伸缩的工具。 这些工作建立在研究者先前使用的方法学和算法之上, 在数据挖掘领域达到高潮。 特别地, 数据挖掘利用了来自如下一些领域的思想: (1) 来自统计学的抽样、 估计和假设检验, (2) 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。 数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地, 需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技
32、术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。图 1-2 展示数据挖掘与其他领域之间的联系。1.4 数据挖掘任务通常,数据挖掘任务分为下面两大类:l 预测任务。这些任务的目标是根据其他属性的值,预测特定属性的值。被预测的属性一般称目标变量( target variable)或因变量( dependent variable),而用来做预测的属性称说明变量( explanatory variable)或自变量( independent variable)。l 描述任务。这里,目标是导出概括数据中潜在联系的模式(相关、趋势、聚类、轨迹
33、和异常)。本质上,描述性数据挖掘任务通常是探查性的,并且常常需要后处理技术验证和解释结果。图 1-3 展示本书其余部分讲述的四种主要数据挖掘任务。图 1-3四种主要数据挖掘任务预测建模(predictive modeling) 涉及以说明变量函数的方式为目标变量建立模型。有两类预测建模任务:分类(classification),用于预测离散的目标变量;回归( regression ),用于预测连续的目标变量。例如,预测一个Web用户是否会在网上书店买书是分类任务,因为该目标变量是二值的。 另一方面, 预测某股票的未来价格是回归任务, 因为价格具有连续值属性。 两项任务目标都是训练一个模型, 使
34、目标变量预测值与实际值之间的误差达到最小。预测建模可以用来确定顾客对产品促销活动的反应,预测地球生态系统的扰动, 或根据检查结果判断病人是否患有某种特定的疾病。例 1.1 预测花的类型考虑如下任务:根据花的特征预测花的种类。特殊地,考虑根据是否属于Setosa、Versicolour、Virginica这三类之一对鸢尾花( Iris )进行分类。为进行这一任务,我们需要一个数据集,包含这三类花的特性。一个具有这类信息的数据集是著名的鸢尾花数据集,可从加州大学欧文分校的机器学习数据库中得到 (http:/www.ics.uci.edu /mlearn)。除花的种类之外,该数据集还包含萼片宽度、萼
35、片长度、花瓣长度和花瓣宽度四个其他属性。(鸢尾花数据集和它的属性将在3.1 节进一步介绍。)图 1-4 给出鸢尾花数据集中150 种花的花瓣宽度与花瓣长度的对比图。花瓣宽度分成low、medium 、high 三类,分别对应于区间 0, 0.75)、0.75, 1.75)、1.75, ¥)。花瓣长度也分成 low、medium 、high 三类,分别对应于区间 0, 2.5)、2.5, 5)、5, ¥)。根据花瓣宽度和长度的这些类别,可以推出如下规则:图 1-4 150 种鸢尾花的宽度与长度对比花瓣宽度和花瓣长度为low 蕴涵 Setosa。花瓣宽度和花瓣长度为medium蕴涵 Versico
36、lour。花瓣宽度和花瓣长度为high 蕴涵 Virginica。尽管这些规则不能对所有的花进行分类,但是它们对大多数花都能很好地进行分类(尽管不完善)。注意:根据花瓣宽度和花瓣长度,Setosa 种类的花完全可以与 Versicolour和 Virginica种类的花分开;但是后两类花在这些属性上有一些重叠。关联分析( association analysis) 用来发现描述数据中强关联特征的模式。所发现的模式通常用蕴涵规则或特征子集的形式表示。由于搜索空间是指数规模的,关联分析的目标是以有效的方式提取最有趣的模式。关联分析的应用包括找出具有相关功能的基因组、 识别一起访问的 Web页面、理
37、解地球气候系统不同元素之间的联系等。例 1.2 购物篮分析表 1-1 给出的事务是在一家杂货店收银台收集的销售数据。关联分析可以用来发现顾客频繁地同时购买的商品。例如,我们可能发现规则尿布? 牛奶 。该规则暗示购买尿布的顾客多半会购买牛奶。这种类型的规则可以用来发现相关商品中可能的交叉销售的机会。表 1-1 购物篮数据事务 ID 商品1 面包 , 黄油 , 尿布, 牛奶 2 咖啡 , 糖, 小甜饼 , 鲑鱼 3 面包 , 黄油 , 咖啡, 尿布 , 牛奶 , 鸡蛋 4 面包 , 黄油 , 鲑鱼, 鸡 5 鸡蛋 , 面包 , 黄油 6 鲑鱼 , 尿布 , 牛奶 7 面包 , 茶, 糖, 鸡蛋 8
38、 咖啡 , 糖, 鸡, 鸡蛋 9 面包 , 尿布 , 牛奶, 盐 10 茶, 鸡蛋 , 小甜饼 , 尿布 , 牛奶 聚类分析( cluster analysis) 旨在发现紧密相关的观测值组群,使得与属于不同簇的观测值相比, 属于同一簇的观测值相互之间尽可能类似。聚类可用来对相关的顾客分组、找出显著影响地球气候的海洋区域以及压缩数据等。例 1.3 文档聚类表 1-2 给出的新闻文章可以根据它们各自的主题分组。每篇文章表示为词频率对 ( w, c )的集合,其中 w是词,而 c 是该词在文章中出现的次数。在该数据集中,有两个自然簇。第一个簇由前四篇文章组成,对应于经济新闻,而第二个簇包含后四篇文
39、章,对应于卫生保健新闻。 一个好的聚类算法应当能够根据文章中出现的词的相似性,识别这两个簇。表 1-2 新闻文章集合文 章词1 2 3 4 5 6 dollar: 1, industry: 4, country: 2, loan: 3, deal: 2, government: 2 machinery: 2, labor: 3, market: 4, industry: 2, work: 3, country: 1 job: 5, in?ation: 3, r ise: 2, jobless: 2, market: 3, country: 2, index: 3 domestic: 3, fo
40、recast: 2, gain: 1, market: 2, sale: 3, price: 2 patient: 4, symptom: 2, drug: 3, health: 2, clinic: 2, doctor: 2 7 8 pharmaceutical: 2, company: 3, drug: 2, vaccine: 1, ?u: 3death: 2, cancer: 4, drug: 3, public: 4, health: 3, director: 2 medical: 2, cost: 3, increase: 2, patient: 2, health: 3, care
41、: 1 异常检测( anomaly detection)的任务是识别其特征显著不同于其他数据的观测值。这样的观测值称为异常点(anomaly)或离群点( outlier)。异常检测算法的目标是发现真正的异常点, 而避免错误地将正常的对象标注为异常点。换言之,一个好的异常检测器必须具有高检测率和低误报率。异常检测的应用包括检测欺诈、网络攻击、疾病的不寻常模式、生态系统扰动等。例 1.4 信用卡欺诈检测信用卡公司记录每个持卡人所做的交易,同时也记录信用限度、年龄、年薪和地址等个人信息。由于与合法交易相比,欺诈行为的数目相对较少, 因此异常检测技术可以用来构造用户的合法交易的轮廓。当一个新的交易到达
42、时就与之比较。 如果该交易的特性与先前所构造的轮廓很不相同,就把交易标记为可能是欺诈。1.5 本书的内容与组织本书从算法的角度介绍数据挖掘所使用的主要原理与技术。为了更好地理解数据挖掘技术如何用于各种类型的数据,研究这些原理与技术是至关重要的。对于有志于从事这个领域研究的读者,本书也可作为一个起点。我们从数据(第 2 章)开始本书的技术讨论。该章讨论数据的基本类型、数据质量、预处理技术以及相似性和相异性度量。这些材料尽管可以快速阅读,但是提供数据分析的重要基础。 第 3 章论及数据探查, 讨论汇总统计、 可视化技术和联机分析处理( On-Line Analytical Processing,
43、OLAP),这些技术提供快速透彻理解数据集的手段。第 4 章和第 5 章涵盖分类。 第 4 章是基础,讨论判定树分类和一些重要的分类问题:过分拟合、性能评估和不同分类模型的比较。在此基础上,第5 章介绍其他重要的分类技术:基于规则的系统、最近邻分类器、贝叶斯分类器、人工神经网络、支持向量机以及组合分类器。组合分类器是一组分类器。 这一章还讨论多类问题和不平衡类问题。这些主题可以独立学习。关联分析在第 6 章和第 7 章考察。第 6 章介绍关联分析的基础频繁项集、关联规则以及产生它们的一些算法。特殊类型频繁项集 (最大项集、 闭项集和超团集)对于数据挖掘都是重要的, 也在这一章讨论。 该章最后讨
44、论关联分析的评估度量。第 7 章考虑各种更高级的专题, 包括如何将关联分析用于分类数据和连续数据,或用于具有概念分层的数据。(概念分层是对象的层次分类,例如库存商品、服装、鞋、运动鞋。)该章还介绍如何扩展关联分析,以发现序列模式(涉及次序的模式)、图中的模式、负联系(如果一个项出现,则其他项不出现)。聚类分析在第 8 章和第 9 章讨论。第 8 章先介绍簇的不同类型, 然后给出三种特定的聚类技术: K均值、凝聚层次聚类和DBSCAN。接下去讨论验证聚类算法结果的技术。更多的聚类概念和技术在第9 章考察,包括模糊和概率聚类、 自组织映射(SOM )、基于图的聚类和基于密度的聚类。这一章还讨论可伸缩问题和选择聚类算法需要考虑的因素。最后一章(第 10 章)是关于异常检测的。在给出一些基本定义之后,考虑若干不同类型的异常检测,包括统计的、基于距离的、基于密度的和基于聚类的。尽管与统计学和机器学习相比, 数据挖掘还很年轻, 但是数据挖掘学科领域已经太大,很难用一本书涵盖。对于仅简略涉及的主题(如数据质量),挑选的参考文献在相应章的文献注释给出。 对于本书未涵盖的主题 (如流数据挖掘和隐私保护数据挖掘),参考文献在本章的文献注释提供。