《知识发现过程与应用结构》由会员分享,可在线阅读,更多相关《知识发现过程与应用结构(55页珍藏版)》请在金锄头文库上搜索。
1、主讲:赵宏庆主讲:赵宏庆数据挖掘原理与算法数据挖掘原理与算法数据挖掘原理与算法数据挖掘原理与算法第二章第二章 知识发现过程与应用结构知识发现过程与应用结构 2第二章第二章 知识发现过程与应用结构知识发现过程与应用结构 v2.1 2.1 知识发现的基本过程知识发现的基本过程 v2.2 2.2 数据库中的知识发现处理过程模型数据库中的知识发现处理过程模型v2.3 2.3 知识发现软件或工具的发展知识发现软件或工具的发展v2.4 2.4 知识发现项目的过程化管理知识发现项目的过程化管理 v2.5 2.5 数据挖掘语言介绍数据挖掘语言介绍 3如何学习本章内容如何学习本章内容v在上一章我们指出,数据挖掘
2、有广义和狭义两种理解。为在上一章我们指出,数据挖掘有广义和狭义两种理解。为了避免混淆,本章使用知识发现而把数据挖掘限制在上面了避免混淆,本章使用知识发现而把数据挖掘限制在上面所描述的狭义概念上。所描述的狭义概念上。4如何学习本章内容如何学习本章内容v虽然不同企业会有不同的业务逻辑,解决问题的具体方法有虽然不同企业会有不同的业务逻辑,解决问题的具体方法有所差异,但是它们进行知识发现的目的和基本思路是一致的。所差异,但是它们进行知识发现的目的和基本思路是一致的。v本章首先对知识发现的基本过程进行分析,旨在使读者从总本章首先对知识发现的基本过程进行分析,旨在使读者从总体上掌握知识发现的基本步骤和技术
3、。体上掌握知识发现的基本步骤和技术。v然后对目前比较流行的然后对目前比较流行的KDD过程处理模型进行剖析,了解过程处理模型进行剖析,了解KDD系统的应用体系结构。系统的应用体系结构。v通过对通过对KDD系统的基本技术环境和主要部件功能分析,对系统的基本技术环境和主要部件功能分析,对KDD系统的体系结构有一个更深入的了解。系统的体系结构有一个更深入的了解。v在此基础上对在此基础上对KDD软件和工具进行归纳、举例和分析,帮助软件和工具进行归纳、举例和分析,帮助读者在实际应用中学会选择和使用相应的软件和工具。读者在实际应用中学会选择和使用相应的软件和工具。5如何学习本章内容如何学习本章内容v本章也对
4、本章也对KDD系统项目的过程化管理、交互式数据挖掘过系统项目的过程化管理、交互式数据挖掘过程以及通用的程以及通用的KDD原型系统进行讨论,从软件项目管理角原型系统进行讨论,从软件项目管理角度来更好地理解度来更好地理解KDD过程。过程。v最后对数据挖掘语言的类型和特点进行介绍。最后对数据挖掘语言的类型和特点进行介绍。62.1 知识发现是一个系统化的工作知识发现是一个系统化的工作v从源数据中发现有用知识是一个系统化的工作。从源数据中发现有用知识是一个系统化的工作。首先必须对可以利用的源数据进行分析,确定合适的挖掘目标。首先必须对可以利用的源数据进行分析,确定合适的挖掘目标。然后才能着手系统的设计和
5、开发。然后才能着手系统的设计和开发。v完成从大型源数据中发现有价值知识的过程可以简单地概完成从大型源数据中发现有价值知识的过程可以简单地概括为:括为:首先从数据源中抽取感兴趣的数据,并把它组织成适合挖掘的数首先从数据源中抽取感兴趣的数据,并把它组织成适合挖掘的数据组织形式;据组织形式;然后,调用相应的算法生成所需的知识;然后,调用相应的算法生成所需的知识;最后对生成的知识模式进行评估,并把有价值的知识集成到企业最后对生成的知识模式进行评估,并把有价值的知识集成到企业的智能系统中。的智能系统中。v 一般地说,一般地说,KDD是一个多步骤的处理过程,一般分为是一个多步骤的处理过程,一般分为问题定义
6、、数据抽取、数据预处理、数据挖掘以及模式评问题定义、数据抽取、数据预处理、数据挖掘以及模式评估估等基本阶段。等基本阶段。 7问题定义阶段的功能问题定义阶段的功能v KDD是为了在大量数据中发现有用的令人感兴趣的信息,是为了在大量数据中发现有用的令人感兴趣的信息,因此发现何种知识就成为整个过程中第一个也是最重要的因此发现何种知识就成为整个过程中第一个也是最重要的一个阶段。一个阶段。v在问题定义过程中,数据挖掘人员必须和领域专家以及最在问题定义过程中,数据挖掘人员必须和领域专家以及最终用户紧密协作终用户紧密协作一方面了解相关领域的有关情况,熟悉背景知识,弄清用户要求,一方面了解相关领域的有关情况,
7、熟悉背景知识,弄清用户要求,确定挖掘的目标等要求;确定挖掘的目标等要求;另一方面通过对各种学习算法的对比进而确定可用的学习算法。另一方面通过对各种学习算法的对比进而确定可用的学习算法。后续的学习算法选择和数据集准备都是在此基础上进行的。后续的学习算法选择和数据集准备都是在此基础上进行的。82.1.1 数据抽取与集成数据抽取与集成v数据抽取与集成是知识发现的关键性工作。早期的数据抽数据抽取与集成是知识发现的关键性工作。早期的数据抽取是依靠手工编程来实现的,现在可以通过高效的抽取工取是依靠手工编程来实现的,现在可以通过高效的抽取工具来实现。具来实现。v源数据库的选取以及从中抽取数据的原则和具体规则
8、必须源数据库的选取以及从中抽取数据的原则和具体规则必须依据系统的任务来界定。依据系统的任务来界定。主要任务是设计存储新数据的结构和准确定义它与源数据的转换主要任务是设计存储新数据的结构和准确定义它与源数据的转换和装载机制,以便正确地从每个数据源中抽取所需的数据。和装载机制,以便正确地从每个数据源中抽取所需的数据。这些结构和转换信息应该作为元数据(这些结构和转换信息应该作为元数据(Metadata)被存储起来。)被存储起来。v来自不同源的数据可能有模式定义上的差异,也可能存在来自不同源的数据可能有模式定义上的差异,也可能存在因数据冗余而无法确定有效数据的情形。此外,还要考虑因数据冗余而无法确定有
9、效数据的情形。此外,还要考虑数据库系统本身可能存在不兼容的情况数据库系统本身可能存在不兼容的情况 9数据清洗与预处理数据清洗与预处理 v在开始一个知识发现项目之前必须清晰地定义挖掘目标。在开始一个知识发现项目之前必须清晰地定义挖掘目标。因此,要提高挖掘结果的准确率,数据预处理是不可忽视因此,要提高挖掘结果的准确率,数据预处理是不可忽视的一步。的一步。v对数据进行预处理,一般需要对源数据进行再加工,检查对数据进行预处理,一般需要对源数据进行再加工,检查数据的完整性及数据的一致性,对其中的噪音数据进行平数据的完整性及数据的一致性,对其中的噪音数据进行平滑,对丢失的数据进行填补,消除滑,对丢失的数据
10、进行填补,消除“脏脏”数据,消除重复数据,消除重复记录等。记录等。v数据清洗是指去除或修补源数据中的不完整、不一致、含数据清洗是指去除或修补源数据中的不完整、不一致、含噪音的数据。噪音的数据。10数据清洗与预处理数据清洗与预处理 v常见的不完整数据的修补办法有:常见的不完整数据的修补办法有:使用一个全局值来填充(如使用一个全局值来填充(如“unknown”、估计的最大、估计的最大数或最小数)。数或最小数)。统计该属性的所有非空值,并用平均值来填充空缺项。统计该属性的所有非空值,并用平均值来填充空缺项。只使用同类对象的属性平均值填充。只使用同类对象的属性平均值填充。利用回归或工具预测最可能的值,
11、并用它来填充。利用回归或工具预测最可能的值,并用它来填充。v数据不一致可能是由于源数据库中对同样属性所使用的数数据不一致可能是由于源数据库中对同样属性所使用的数据类型、度量单位等不同而导致的。因此需要定义它们的据类型、度量单位等不同而导致的。因此需要定义它们的转换规则,并在挖掘前统一成一个形式。转换规则,并在挖掘前统一成一个形式。11数据的选择与整理数据的选择与整理v没有高质量的数据就不可能有高质量的挖掘结果。没有高质量的数据就不可能有高质量的挖掘结果。为了得到一个高质量的适合挖掘的数据子集,一方面为了得到一个高质量的适合挖掘的数据子集,一方面需要通过数据清洗来消除干扰性数据,另一方面也需需要
12、通过数据清洗来消除干扰性数据,另一方面也需要针对挖掘目标进行数据选择。要针对挖掘目标进行数据选择。数据选择的目的是辨别出需要分析的数据集合,缩小数据选择的目的是辨别出需要分析的数据集合,缩小处理范围,提高数据采掘的质量。处理范围,提高数据采掘的质量。数据选择可以使后面的数据挖掘工作聚焦到和挖掘任数据选择可以使后面的数据挖掘工作聚焦到和挖掘任务相关的数据子集中。不仅提高了挖掘效率,而且也务相关的数据子集中。不仅提高了挖掘效率,而且也保证了挖掘的准确性。保证了挖掘的准确性。12数据的选择与整理数据的选择与整理v利用数据变换或规约等技术可以将数据整理成适合进一步利用数据变换或规约等技术可以将数据整理
13、成适合进一步挖掘的数据格式。挖掘的数据格式。数据变换数据变换可以根据需要构造出新的属性以帮助理解分可以根据需要构造出新的属性以帮助理解分析数据的特点,或者将数据规范化,使之落在一个特析数据的特点,或者将数据规范化,使之落在一个特定的数据区间中。定的数据区间中。数据规约数据规约则是在尽可能保证数据完整性的基础上,将则是在尽可能保证数据完整性的基础上,将数据以其他方式进行表示,以减少数据存储空间,使数据以其他方式进行表示,以减少数据存储空间,使挖掘过程更有效。挖掘过程更有效。常用的规约策略有:数据立方体聚集、维规约、数据常用的规约策略有:数据立方体聚集、维规约、数据压缩、数值压缩和离散化等。压缩、
14、数值压缩和离散化等。132.1.4 数据挖掘阶段的功能数据挖掘阶段的功能v运用选定的数据挖掘算法,从数据中提取出用户所需要的运用选定的数据挖掘算法,从数据中提取出用户所需要的知识,这些知识可以用一种特定的方式表示。知识,这些知识可以用一种特定的方式表示。v选择数据挖掘算法有两个考虑因素:选择数据挖掘算法有两个考虑因素:一是不同的数据有不同的特点一是不同的数据有不同的特点,因此需要用与之相关,因此需要用与之相关的算法来挖掘;的算法来挖掘;二是用户或实际运行系统的要求二是用户或实际运行系统的要求,有的用户可能希望,有的用户可能希望获取描述型的(获取描述型的(Descriptive)、容易理解的知识
15、(采)、容易理解的知识(采用规则表示的挖掘方法显然要好于神经网络之类的方用规则表示的挖掘方法显然要好于神经网络之类的方法),而有的用户只是希望获取预测准确度尽可能高法),而有的用户只是希望获取预测准确度尽可能高的预测型(的预测型(Predictive)知识,并不在意获取的知识是)知识,并不在意获取的知识是否易于理解。否易于理解。142.1.5 知识评估阶段的功能知识评估阶段的功能v数据挖掘阶段发现出来的模式,经过评估,可能存在冗余数据挖掘阶段发现出来的模式,经过评估,可能存在冗余或无关的模式,这时需要将其剔除;或无关的模式,这时需要将其剔除;v也有可能模式不满足用户要求,这时则需要整个发现过程
16、也有可能模式不满足用户要求,这时则需要整个发现过程回退到前续阶段,如重新选取数据、采用新的数据变换方回退到前续阶段,如重新选取数据、采用新的数据变换方法、设定新的参数值,甚至换一种算法等等。法、设定新的参数值,甚至换一种算法等等。152.1.5 知识评估阶段的功能知识评估阶段的功能vKDD由于最终是面向人类用户的,因此可能要对发现的模由于最终是面向人类用户的,因此可能要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示。式进行可视化,或者把结果转换为用户易懂的另一种表示。v所以知识评估阶段是所以知识评估阶段是KDD一个重要的必不可少的阶段,它一个重要的必不可少的阶段,它不仅担负着将不
17、仅担负着将KDD系统发现的知识以用户能了解的方式呈系统发现的知识以用户能了解的方式呈现,而且根据需要进行知识评价,如果和用户的挖掘目标现,而且根据需要进行知识评价,如果和用户的挖掘目标不一致就需要返回前面相应的步骤进行螺旋式处理以最终不一致就需要返回前面相应的步骤进行螺旋式处理以最终获得可用的知识。获得可用的知识。16知识发现需要多方合作知识发现需要多方合作v实施这样的项目不仅需要充足的资金,而且需要有良好的实施这样的项目不仅需要充足的资金,而且需要有良好的技术和人员储备。在整个的知识发现过程中,需要有不同技术和人员储备。在整个的知识发现过程中,需要有不同专长的技术人员支持。专长的技术人员支持
18、。业务分析人员业务分析人员:要求精通业务,能够解释业务对象,:要求精通业务,能够解释业务对象,并根据各业务对象确定出用于数据定义和挖掘算法的并根据各业务对象确定出用于数据定义和挖掘算法的业务需求。业务需求。数据分析人员数据分析人员:精通数据分析技术,并对统计学有较:精通数据分析技术,并对统计学有较熟练的掌握,有能力把业务需求转化为知识发现的各熟练的掌握,有能力把业务需求转化为知识发现的各步操作,并为每步操作选择合适的模型或工具。步操作,并为每步操作选择合适的模型或工具。数据管理人员数据管理人员:精通数据管理技术,并负责从数据库:精通数据管理技术,并负责从数据库或数据仓库中收集数据。或数据仓库中
19、收集数据。17第二章第二章 知识发现过程与应用结构知识发现过程与应用结构 v 知识发现的基本过程知识发现的基本过程 v2.2 2.2 数据库中的知识发现处理过程模型数据库中的知识发现处理过程模型v2.3 2.3 知识发现软件或工具的发展知识发现软件或工具的发展v2.4 2.4 知识发现项目的过程化管理知识发现项目的过程化管理 v2.5 2.5 数据挖掘语言介绍数据挖掘语言介绍 182.2.1 阶梯处理过程模型阶梯处理过程模型v多阶段流水处理模型:多阶段流水处理模型: 192.2.2 螺旋处理过程模型螺旋处理过程模型v它强调领域专家参与的重要性,并以问题的定义为中心循它强调领域专家参与的重要性,
20、并以问题的定义为中心循环评测挖掘的结果。当结果不令人满意时,就需要重新定环评测挖掘的结果。当结果不令人满意时,就需要重新定义问题,开始新的处理循环。每次循环都使问题更清晰,义问题,开始新的处理循环。每次循环都使问题更清晰,结果更准确,因此是一个螺旋式上升过程。结果更准确,因此是一个螺旋式上升过程。 202.2.3 以用户为中心的处理模型以用户为中心的处理模型vBrachman和和Anand从用户的角度对从用户的角度对KDD处理过程进行了处理过程进行了分析。他们认为数据库中的知识发现应该更着重于对用户分析。他们认为数据库中的知识发现应该更着重于对用户进行知识发现的整个过程的支持,而不是仅仅限于在
21、数据进行知识发现的整个过程的支持,而不是仅仅限于在数据挖掘的一个阶段上。该模型强调对用户与数据库的交互的挖掘的一个阶段上。该模型强调对用户与数据库的交互的支持。支持。212.2.4 联机联机KDD模型模型v实现联机交互式实现联机交互式KDD需要可视化技术支撑。这种可视化需要从需要可视化技术支撑。这种可视化需要从数据挖掘过程可视化、数据可视化、模型可视化和算法可视觉数据挖掘过程可视化、数据可视化、模型可视化和算法可视觉化等方面来理解。化等方面来理解。vOLAM(On Line Analytical Mining:联机分析挖掘)的概念:联机分析挖掘)的概念是是OLAP的发展。的发展。An OLAM
22、 ArchitectureData WarehouseMeta DataMDDBOLAMEngineOLAPEngineUser GUIAPIData Cube APIDatabase APIData cleaningData integrationL2OLAP/OLAML1MDDBL0Data RepositoryL3User InterfaceFiltering&IntegrationFilteringDatabasesMining queryMining result222.2.5 支持多数据源多知识模式的支持多数据源多知识模式的KDD处理模型处理模型v数据与方法相对独立。数据不是针对某
23、一特定知识模式,数据与方法相对独立。数据不是针对某一特定知识模式,而是针对某一类问题来抽取。而是针对某一类问题来抽取。v经过预处理后,这些数据对于某些挖掘算法来说可能存在经过预处理后,这些数据对于某些挖掘算法来说可能存在属性冗余、与目标无关等问题,因此在后面的阶段再进行属性冗余、与目标无关等问题,因此在后面的阶段再进行相关的数据清洗和选择工作,这样使得解决同一类问题的相关的数据清洗和选择工作,这样使得解决同一类问题的不同算法可以在统一的不同算法可以在统一的KDD平台上完成。平台上完成。 模式评估模式评估数据挖掘数据挖掘数据选择数据预处理数据清洗模式选择数据集成数据抽取数据抽取问题定义Web/T
24、EXTDBDWDB/DW源数据备选数据Cube目标数据DB知识库用户知识模式库23第二章第二章 知识发现过程与应用结构知识发现过程与应用结构 v2.1 2.1 知识发现的基本过程知识发现的基本过程 v2.2 2.2 数据库中的知识发现处理过程模型数据库中的知识发现处理过程模型v2.3 2.3 知识发现软件或工具的发展知识发现软件或工具的发展v2.4 2.4 知识发现项目的过程化管理知识发现项目的过程化管理 v2.5 2.5 数据挖掘语言介绍数据挖掘语言介绍 242.3 知识发现软件的发展知识发现软件的发展v虽然市场上已经有许多所谓的知识发现系统或工具,但是,虽然市场上已经有许多所谓的知识发现系
25、统或工具,但是,这些工具只能用来辅助技术人员进行设计和开发,而且知这些工具只能用来辅助技术人员进行设计和开发,而且知识发现软件本身也正处于发展阶段,仍然存在各种各样需识发现软件本身也正处于发展阶段,仍然存在各种各样需要解决的问题。要解决的问题。v粗略地说,知识发现软件或工具的发展经历了独立的粗略地说,知识发现软件或工具的发展经历了独立的知识知识发现软件发现软件、横向的知识发现工具集横向的知识发现工具集和和纵向的知识发现解决纵向的知识发现解决方案方案三个主要阶段,其中后面两种反映了目前知识发现软三个主要阶段,其中后面两种反映了目前知识发现软件的两个主要发展方向。件的两个主要发展方向。252.3.
26、1 独立的知识发现软件独立的知识发现软件v独立的知识发现软件出现在数据挖掘和知识发现技术研究独立的知识发现软件出现在数据挖掘和知识发现技术研究的早期。的早期。v当研究人员开发出一种新型的数据挖掘算法后,就在此基当研究人员开发出一种新型的数据挖掘算法后,就在此基础上形成软件原型。这些原型系统经过完善被尝试使用。础上形成软件原型。这些原型系统经过完善被尝试使用。v这类软件要求用户必须对具体的数据挖掘技术和算法有相这类软件要求用户必须对具体的数据挖掘技术和算法有相当的了解,还要手工负责大量的数据预处理工作。当的了解,还要手工负责大量的数据预处理工作。262.3.2 横向的知识发现工具横向的知识发现工
27、具v集成化的知识发现辅助工具集,属于通用辅助工具范畴,集成化的知识发现辅助工具集,属于通用辅助工具范畴,可以帮助用户快速完成知识发现的不同阶段处理工作。可以帮助用户快速完成知识发现的不同阶段处理工作。v一些有代表性的原型系统或工具介绍。一些有代表性的原型系统或工具介绍。名称名称研究机构或公司研究机构或公司主要特点主要特点DBMiner1 Simon Fraser以以OLAM引擎为核心的联机挖掘原型系统;包含多特征引擎为核心的联机挖掘原型系统;包含多特征/序列序列/关联等多模式。关联等多模式。Quest75IBM Almaden面向大数据集的多模式(关联规则面向大数据集的多模式(关联规则/分类等
28、)挖掘工具。分类等)挖掘工具。IBM Intelligent Miner76 IBM包含多种技术(神经网络包含多种技术(神经网络/统计分析统计分析/聚类等)的辅助挖掘工具集。聚类等)的辅助挖掘工具集。Darwin76Thinking Machines基于神经网络的辅助挖掘工具。基于神经网络的辅助挖掘工具。ReMindCognitive System基于实例推理和归纳逻辑的辅助挖掘工具。基于实例推理和归纳逻辑的辅助挖掘工具。272.3.3 纵向的知识发现解决方案纵向的知识发现解决方案v随着横向的数据挖掘工具集的使用日渐广泛,人们也发现随着横向的数据挖掘工具集的使用日渐广泛,人们也发现这类工具只有
29、精通数据挖掘算法的专家才能熟练使用。这类工具只有精通数据挖掘算法的专家才能熟练使用。如果对数据挖掘和知识发现技术及其算法不了解,就难以开发出如果对数据挖掘和知识发现技术及其算法不了解,就难以开发出好的应用好的应用 。v纵向的数据挖掘解决方案的核心是针对特定的应用提供完纵向的数据挖掘解决方案的核心是针对特定的应用提供完整的数据挖掘和知识发现解决方案。整的数据挖掘和知识发现解决方案。由于和具体的商业逻辑相结合,因此,数据挖掘技术专门为了解由于和具体的商业逻辑相结合,因此,数据挖掘技术专门为了解决某些特定的问题被使用,成为企业应用系统中一部分。决某些特定的问题被使用,成为企业应用系统中一部分。282
30、.3.3 纵向的知识发现解决方案纵向的知识发现解决方案v许多厂商或研究机构可以提供纵向数据挖掘的解决方案。许多厂商或研究机构可以提供纵向数据挖掘的解决方案。因此,数据挖掘技术在最近几年开始在一些领域得到应用。因此,数据挖掘技术在最近几年开始在一些领域得到应用。例如,证券系统的趋势预测、银行和电信行业的欺诈行为检测、例如,证券系统的趋势预测、银行和电信行业的欺诈行为检测、在在CRM中的应用、在基因分析系统中用于中的应用、在基因分析系统中用于DNA识别等。识别等。v特定领域的数据挖掘工具针对性比较强,只能用于一种应特定领域的数据挖掘工具针对性比较强,只能用于一种应用;也正因为针对性强,往往采用特殊
31、的算法,可以处理用;也正因为针对性强,往往采用特殊的算法,可以处理特殊的数据,实现特殊的目的,发现的知识可靠度也比较特殊的数据,实现特殊的目的,发现的知识可靠度也比较高。高。 29第二章第二章 知识发现过程与应用结构知识发现过程与应用结构 v 知识发现的基本过程知识发现的基本过程 v2.2 2.2 数据库中的知识发现处理过程模型数据库中的知识发现处理过程模型v2.3 2.3 知识发现软件或工具的发展知识发现软件或工具的发展v2.4 2.4 知识发现项目的过程化管理知识发现项目的过程化管理 v2.5 2.5 数据挖掘语言介绍数据挖掘语言介绍 302.4 知识发现项目的过程化管理问题知识发现项目的
32、过程化管理问题v开发一个数据挖掘和知识发现项目需要各方面协同合作而开发一个数据挖掘和知识发现项目需要各方面协同合作而且极易出现问题,因此它的质量管理问题的讨论是重要而且极易出现问题,因此它的质量管理问题的讨论是重要而困难的。困难的。v近几年,有一些针对数据挖掘和知识发现项目的过程化管近几年,有一些针对数据挖掘和知识发现项目的过程化管理所开展的工作,其中一个典型的模型三被称作强度挖掘理所开展的工作,其中一个典型的模型三被称作强度挖掘(Intension Mining)的)的I-MIN过程模型。过程模型。vI-MIN过程模型把过程模型把KDD过程分成过程分成IM1、IM2、IM6等步等步骤处理,在
33、每个步骤里,集中讨论几个问题,并按一定的骤处理,在每个步骤里,集中讨论几个问题,并按一定的质量标准来控制项目的实施。质量标准来控制项目的实施。31IM1的任务与目的的任务与目的v它是它是KDD项目的计划阶段,需要确定企业的挖掘目标,选项目的计划阶段,需要确定企业的挖掘目标,选择知识发现模式,编译知识发现模式得到的元数据。择知识发现模式,编译知识发现模式得到的元数据。v目的目的是将企业的挖掘目标嵌入到对应的知识模式中。是将企业的挖掘目标嵌入到对应的知识模式中。v对数据挖掘研究人员来说,往往把主要精力用在改进现有对数据挖掘研究人员来说,往往把主要精力用在改进现有算法和探索新算法上。但是在真正调用挖
34、掘算法之前,必算法和探索新算法上。但是在真正调用挖掘算法之前,必须对企业的决策机制和流程进行充分调研,理解企业急需须对企业的决策机制和流程进行充分调研,理解企业急需解决的问题。需要准确地确定挖掘目标和可交付系统的指解决的问题。需要准确地确定挖掘目标和可交付系统的指标等标等。32IM2的任务与目标的任务与目标v它是它是KDD的预处理阶段,可以用的预处理阶段,可以用IM2a、IM2b、IM2c等分等分别对应于数据清洗、数据选择和数据转换等阶段。别对应于数据清洗、数据选择和数据转换等阶段。v其其目的目的是生成高质量的目标数据。是生成高质量的目标数据。v知识发现项目的数据预处理是一个费时费力的工作。事
35、实知识发现项目的数据预处理是一个费时费力的工作。事实上,数据挖掘的成功与否,数据预处理起到了至关重要的上,数据挖掘的成功与否,数据预处理起到了至关重要的作用。只有好的预处理,才能避免作用。只有好的预处理,才能避免GIGO(垃圾进垃圾出)(垃圾进垃圾出)的现象发生。的现象发生。33IM3的任务与目标的任务与目标v它是它是KDD的挖掘准备阶段,数据挖掘工程师进行挖掘实验,的挖掘准备阶段,数据挖掘工程师进行挖掘实验,反复测试和验证模型的有效性。反复测试和验证模型的有效性。v其其目的目的是通过实验和训练得到浓缩知识是通过实验和训练得到浓缩知识(Knowledge Concentrate),为最终用户提
36、供可使用的模型。,为最终用户提供可使用的模型。34IM4的任务与目标的任务与目标v它是它是KDD的数据挖掘阶段,用户通过指定数据挖掘算法得的数据挖掘阶段,用户通过指定数据挖掘算法得到对应的知识。到对应的知识。 35IM5的任务与目标的任务与目标v它是它是KDD的知识表示阶段,按指定要求形成规格化的知识的知识表示阶段,按指定要求形成规格化的知识。36IM6的任务与目标的任务与目标v它是它是KDD的知识解释与使用阶段,其的知识解释与使用阶段,其目的目的是根据用户要求是根据用户要求直观地输出知识或集成到企业的知识库中。直观地输出知识或集成到企业的知识库中。37第二章第二章 知识发现过程与应用结构知识
37、发现过程与应用结构 v 知识发现的基本过程知识发现的基本过程 v2.2 2.2 数据库中的知识发现处理过程模型数据库中的知识发现处理过程模型v2.3 2.3 知识发现软件或工具的发展知识发现软件或工具的发展v2.4 2.4 知识发现项目的过程化管理知识发现项目的过程化管理 v2.5 2.5 数据挖掘语言介绍数据挖掘语言介绍 382.5 数据挖掘语言概述数据挖掘语言概述v设计理想的数据挖掘语言是一个巨大的挑战。设计理想的数据挖掘语言是一个巨大的挑战。这是因为数据挖掘覆盖的任务宽、包含知识形式广(如数据特征这是因为数据挖掘覆盖的任务宽、包含知识形式广(如数据特征化、关联规则、数据分类、聚集等等)。
38、化、关联规则、数据分类、聚集等等)。每个任务都有不同的需求,每种知识表示形式都有不同内涵。每个任务都有不同的需求,每种知识表示形式都有不同内涵。一个有效的数据挖掘语言设计需要对各种不同的数据挖掘任务的一个有效的数据挖掘语言设计需要对各种不同的数据挖掘任务的能力、约束以及运行机制有深入地理解。能力、约束以及运行机制有深入地理解。392.5 数据挖掘语言概述数据挖掘语言概述v众所周知,关系查询语言的标准化,发生在关系型数据库众所周知,关系查询语言的标准化,发生在关系型数据库开发的早期阶段。经过不懈的努力,以开发的早期阶段。经过不懈的努力,以SQL为代表的关系为代表的关系型数据库查询语言的标准化被成
39、功解决。型数据库查询语言的标准化被成功解决。v同样,一个好的数据挖掘语言可以有助于数据挖掘系统平同样,一个好的数据挖掘语言可以有助于数据挖掘系统平台的标准化进程,甚至可以象台的标准化进程,甚至可以象HTML推动推动Internet的发展的发展一样,推动数据挖掘行业的开发和发展。一样,推动数据挖掘行业的开发和发展。402.5 数据挖掘语言概述数据挖掘语言概述v数据挖掘语言的发展大致经历了两个阶段:数据挖掘语言的发展大致经历了两个阶段:第一个阶段是研究单位和公司自行研究和开发阶段;第一个阶段是研究单位和公司自行研究和开发阶段;第二阶段是研究单位和公司组成联盟,研制和开发数第二阶段是研究单位和公司组
40、成联盟,研制和开发数据挖掘语言标准化的阶段。据挖掘语言标准化的阶段。 41数据挖掘语言分类数据挖掘语言分类v根据功能和侧重点不同,数据挖掘语言可以分为三种类型:根据功能和侧重点不同,数据挖掘语言可以分为三种类型:数据挖掘查询语言数据挖掘查询语言:希望以一种像:希望以一种像SQL这样的数据库这样的数据库查询语言完成数据挖掘的任务。查询语言完成数据挖掘的任务。 数数据据挖挖掘掘建建模模语语言言:对对数数据据挖挖掘掘模模型型进进行行描描述述和和定定义义的的语语言言,设设计计一一种种标标准准的的数数据据挖挖掘掘建建模模语语言言,使使得得数数据挖掘系统在模型定义和描述方面有标准可以遵循。据挖掘系统在模型
41、定义和描述方面有标准可以遵循。通通用用数数据据挖挖掘掘语语言言:通通用用数数据据挖挖掘掘语语言言合合并并了了上上述述两两种种语语言言的的特特点点,既既具具有有定定义义模模型型的的功功能能,又又能能作作为为查查询语言与数据挖掘系统通信,进行交互式挖掘。询语言与数据挖掘系统通信,进行交互式挖掘。42数据挖掘语言分类数据挖掘语言分类v通通用用数数据据挖挖掘掘语语言言的的标标准准化化是是目目前前解解决决数数据据挖挖掘掘行业出现问题的颇具吸引力的研究方向。行业出现问题的颇具吸引力的研究方向。432.5.2 数据挖掘查询语言数据挖掘查询语言vJ. W. Han等开发的数据挖掘系统等开发的数据挖掘系统DBM
42、iner中数据挖掘查中数据挖掘查询语言询语言DMQL(Data Mining Query Language)是这类)是这类挖掘语言的典型代表。挖掘语言的典型代表。v数据挖掘查询语言数据挖掘查询语言DMQL由数据挖掘原语组成,数据挖掘由数据挖掘原语组成,数据挖掘原语用来定义一个数据挖掘任务。原语用来定义一个数据挖掘任务。v用户使用数据挖掘原语与数据挖掘系统通信,使得知识发用户使用数据挖掘原语与数据挖掘系统通信,使得知识发现更有效。现更有效。442.5.2 数据挖掘查询语言数据挖掘查询语言v这些原语有以下几个种类:这些原语有以下几个种类:数据库部分以及用户感兴趣的数据集(包括感兴趣的数据库部分以及
43、用户感兴趣的数据集(包括感兴趣的数据库属性或数据仓库的维度);数据库属性或数据仓库的维度);挖掘知识的种类;在指导挖掘过程中有用的背景知识;挖掘知识的种类;在指导挖掘过程中有用的背景知识;模式估值的兴趣度测量;挖掘出的知识如何可视化表模式估值的兴趣度测量;挖掘出的知识如何可视化表示。示。452.5.2 数据挖掘查询语言数据挖掘查询语言v数据挖掘查询的基本单位是数据挖掘任务,通过数据挖掘数据挖掘查询的基本单位是数据挖掘任务,通过数据挖掘查询语言,数据挖掘任务可以通过查询的形式输入到数据查询语言,数据挖掘任务可以通过查询的形式输入到数据挖掘系统中。挖掘系统中。v一个数据挖掘查询由五种基本的数据挖掘
44、原语定义。一个数据挖掘查询由五种基本的数据挖掘原语定义。 462.5.3 数据挖掘建模语言数据挖掘建模语言v数数据据挖挖掘掘建建模模语语言言是是对对数数据据挖挖掘掘模模型型进进行行描描述述和和定定义义的的语语言。言。v预预 言言 模模 型型 标标 记记 语语 言言 ”( Predictive Model Markup Language,PMML)被被一一个个称称作作数数据据挖挖掘掘协协会会(The Data Mining Group,DMG)的组织开发。)的组织开发。vPMML是一种基于是一种基于XML的语言,用来定义预言模型。的语言,用来定义预言模型。vPMML允允许许应应用用程程序序和和联
45、联机机分分析析处处理理(OLAP)工工具具能能从从数据挖掘系统获得模型,而不用独自开发数据挖掘模块。数据挖掘系统获得模型,而不用独自开发数据挖掘模块。472.5.3 数据挖掘建模语言数据挖掘建模语言vPMML的模型定义由以下几部分组成:的模型定义由以下几部分组成:头文件(头文件(Header););数据模式(数据模式(Data Schema););数据挖掘模式(数据挖掘模式(Data Mining Schema););预言模型模式(预言模型模式(Predictive Model Schema););预言模型定义(预言模型定义(Definitions for Predictive Models)
46、;);全体模型定义(全体模型定义(Definitions for Ensembles of Models););选选择择和和联联合合模模型型和和全全体体模模型型的的规规则则(Rules for Selecting and Combining Models and Ensembles of Models););异常处理的规则(异常处理的规则(Rules for Exception Handling)482.5.4 通用数据挖掘语言通用数据挖掘语言v通通用用数数据据挖挖掘掘语语言言合合并并了了上上述述两两种种语语言言的的特特点点,既既具具有有定定义义模模型型的的功功能能,又又能能作作为为查查询询语
47、语言言与与数数据据挖挖掘掘系系统统通通信信,进行交互式挖掘。进行交互式挖掘。v2000年年3月月,微微软软公公司司推推出出了了一一个个数数据据挖挖掘掘语语言言,称称作作OLE DB for Data Mining(DM),是是通通用用数数据据挖挖掘掘语语言言中中最最具具代代表表性性的的尝尝试试。微微软软此此举举的的目目的的是是为为数数据据挖挖掘掘提提供供行行业业标标准准。只只要要符符合合这这个个标标准准,都都能能容容易易地地嵌嵌入入应应用用程程序序中。中。vOLE DB for DM支支持持多多种种流流行行的的数数据据挖挖掘掘算算法法。使使用用OLE DB for DM,数数据据挖挖掘掘应应用
48、用能能够够通通过过OLE DB生生产产者者接接进进任何表格式的数据源。任何表格式的数据源。492.5.5 DMQL挖掘查询语言介绍挖掘查询语言介绍vDMQL语言的顶层语法语言的顶层语法DMQL:=;:=|v数据挖掘声明(数据挖掘声明(Data_Mining_Statement)语句相关项说明)语句相关项说明:=use database | use data warehouse use hierarchy for from where in relevance to order by group by having 502.5.5 DMQL挖掘查询语言介绍挖掘查询语言介绍v例子:use data
49、base AllElecronics_dbin relevance to from customer C, item I, purchases P, items_sold Swhere = and = and = and =“Canada”group by ;51DMQL挖掘查询语言介绍挖掘查询语言介绍(续)续)v挖掘知识指定(挖掘知识指定(Mine_Knowledge_Specification)语句相)语句相关项说明关项说明:=| := mine characteristics as analyze := mine comparison as for where versus where
50、analyze := mine associations as matching :=mine classification as analyze 52DMQL挖掘查询语言介绍挖掘查询语言介绍(续)续)v概念分层声明(概念分层声明(Concept_Hierarchy_Definition_Statement)相关项说明)相关项说明 :=define hierarchy for on as where v例子:define hierarchy age_hierarchy for age on customer aslevel1: young, middle_aged, senior level0
51、:alllevel2: 20, ., 39 level1: younglevel2: 40, ., 59 level1: middle_agedlevel2: 60, ., 89 level1: senior;define hierarchy profit_margin_hierarchy on item as level1: low_profit_margin level_0: all if (price - cost) $50level1: medium-profit_margin $50) and (price - cost) = $250) level1: high_profit_margin $250;53DMQL挖掘查询语言介绍挖掘查询语言介绍(续)续)v模式表示和可视化说明的语法模式表示和可视化说明的语法 :=display as | ; := roll up on | drill down on | add | drop ;其中可以是规则、表、交叉表、饼图或条图、判定树、立方体、曲线或曲面等 54Thank you !55