《第2章知识发现过程与应用结构优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第2章知识发现过程与应用结构优秀PPT.ppt(93页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第2章知识发现过程与应用结构1现在学习的是第1页,共93页2.1知识发现的基本过程知识发现的基本过程2现在学习的是第2页,共93页知识发现是一个系统化的工作知识发现是一个系统化的工作 从源数据中发现有用知识是一个系从源数据中发现有用知识是一个系统化的工作。统化的工作。首先必须对可以利用的源数据进行分首先必须对可以利用的源数据进行分析,确定合适的挖掘目标。然后才能着手析,确定合适的挖掘目标。然后才能着手系统的设计和开发。系统的设计和开发。3现在学习的是第3页,共93页 完成从大型源数据中发现有价值知完成从大型源数据中发现有价值知识的过程可以简单地概括为:识的过程可以简单地概括为:从数据源中抽取感
2、兴趣从数据源中抽取感兴趣的数据,并把它组织成的数据,并把它组织成适合挖掘的数据组织形适合挖掘的数据组织形式;式;调用相应的算调用相应的算法生成所需的法生成所需的知识;知识;对生成的知识模式进行评估,对生成的知识模式进行评估,并把有价值的知识集成到企并把有价值的知识集成到企业的智能系统中。业的智能系统中。4现在学习的是第4页,共93页 一般地说,一般地说,KDD是一个多步骤的处理过是一个多步骤的处理过程,一般分为问题定义、数据抽取、数据预程,一般分为问题定义、数据抽取、数据预处理、数据挖掘以及模式评估等基本阶段。处理、数据挖掘以及模式评估等基本阶段。5现在学习的是第5页,共93页1.问题定义阶段
3、的功能问题定义阶段的功能 KDD是为了在大量数据中发现有用的是为了在大量数据中发现有用的令人感兴趣的信息,因此发现何种知识就令人感兴趣的信息,因此发现何种知识就成为整个过程中第一个也是最重要的一个成为整个过程中第一个也是最重要的一个阶段。阶段。6现在学习的是第6页,共93页 在问题定义过程中,数据挖掘人员必在问题定义过程中,数据挖掘人员必须和领域专家以及最终用户紧密协作。须和领域专家以及最终用户紧密协作。一方面了解相关领域的有关情况,一方面了解相关领域的有关情况,熟悉背景知识,弄清用户要求,确定挖熟悉背景知识,弄清用户要求,确定挖掘的目标等要求;掘的目标等要求;另一方面通过对各种学习算法的对比
4、另一方面通过对各种学习算法的对比进而确定可用的学习算法。后续的学习算进而确定可用的学习算法。后续的学习算法选择和数据集准备都是在此基础上进行法选择和数据集准备都是在此基础上进行的。的。7现在学习的是第7页,共93页2.数据抽取阶段的功能数据抽取阶段的功能 数据抽取的目的是选取相应的源数据数据抽取的目的是选取相应的源数据库,并根据要求从数据库中提取相关的数库,并根据要求从数据库中提取相关的数据。源数据库的选取以及从中抽取数据的据。源数据库的选取以及从中抽取数据的原则和具体规则必须依据系统的任务来确原则和具体规则必须依据系统的任务来确定。定。8现在学习的是第8页,共93页弄清源数据的信弄清源数据的
5、信息和结构息和结构准确界定所选准确界定所选取的数据源和取的数据源和抽取原则抽取原则数据集成:将多数据集成:将多数据库运行环境数据库运行环境中的数据进行合中的数据进行合并并设计存储新数据设计存储新数据的结构、准确定的结构、准确定义它与源数据的义它与源数据的转换和转载机制转换和转载机制9现在学习的是第9页,共93页3.数据预处理阶段的功能数据预处理阶段的功能 对数据进行预处理,一般需要对源数对数据进行预处理,一般需要对源数据进行再加工,检查数据的完整性及数据据进行再加工,检查数据的完整性及数据的一致性,对其中的噪音数据进行平滑,的一致性,对其中的噪音数据进行平滑,对丢失的数据进行填补,消除对丢失的
6、数据进行填补,消除“脏脏”数据,数据,消除重复记录,完成数据类型转换等。消除重复记录,完成数据类型转换等。有一种有一种“3:7”的说法,就是指数据抽取的说法,就是指数据抽取和预处理工作一般可能占到整个和预处理工作一般可能占到整个KDD过程过程的的70%左右。左右。10现在学习的是第10页,共93页4.数据挖掘阶段的功能数据挖掘阶段的功能选择数据挖掘算法有两个考虑因素:选择数据挖掘算法有两个考虑因素:一是不同的数据有不同的特点,因此需要用与之一是不同的数据有不同的特点,因此需要用与之相关的算法来挖掘;相关的算法来挖掘;二是用户或实际运行系统的要求(见下页)二是用户或实际运行系统的要求(见下页)运
7、用选定的数据挖掘算法,从数据中运用选定的数据挖掘算法,从数据中提取出用户所需要的知识,这些知识可以提取出用户所需要的知识,这些知识可以用一种特定的方式表示。用一种特定的方式表示。11现在学习的是第11页,共93页 有的用户可能希望获取描述型的有的用户可能希望获取描述型的(Descriptive)、容易理解的知识(采用)、容易理解的知识(采用规则表示的挖掘方法显然要好于神经网规则表示的挖掘方法显然要好于神经网络之类的方法),而有的用户只是希望络之类的方法),而有的用户只是希望获取预测准确度尽可能高的预测型获取预测准确度尽可能高的预测型(Predictive)知识,并不在意获取的知识是)知识,并不
8、在意获取的知识是否易于理解。否易于理解。12现在学习的是第12页,共93页5.知识评估阶段的功能知识评估阶段的功能 数据挖掘阶段发现出来的模式,经过评数据挖掘阶段发现出来的模式,经过评估,可能存在冗余或无关的模式,这时需要估,可能存在冗余或无关的模式,这时需要将其剔除;将其剔除;也有可能模式不满足用户要求,这时则也有可能模式不满足用户要求,这时则需要整个发现过程回退到前续阶段,如重新需要整个发现过程回退到前续阶段,如重新选取数据、采用新的数据变换方法、设定新选取数据、采用新的数据变换方法、设定新的参数值,甚至换一种算法等等。的参数值,甚至换一种算法等等。13现在学习的是第13页,共93页 KD
9、D由于最终是面向人类用户的,因此可能由于最终是面向人类用户的,因此可能要对发现的模式进行可视化,或者把结果转换为用要对发现的模式进行可视化,或者把结果转换为用户易懂的另一种表示。户易懂的另一种表示。所以知识评估阶段是所以知识评估阶段是KDD一个重要的必不可一个重要的必不可少的阶段,它不仅担负着将少的阶段,它不仅担负着将KDD系统发现的知系统发现的知识以用户能了解的方式呈现,而且根据需要进行知识以用户能了解的方式呈现,而且根据需要进行知识评价,如果和用户的挖掘目标不一致就需要返回识评价,如果和用户的挖掘目标不一致就需要返回前面相应的步骤进行螺旋式处理以最终获得可用的前面相应的步骤进行螺旋式处理以
10、最终获得可用的知识。知识。14现在学习的是第14页,共93页知识发现需要多方合作知识发现需要多方合作 业务业务 分析人员分析人员 数据数据分析人员分析人员 数据数据管理人员管理人员要求精通业务,能够解释要求精通业务,能够解释业务对象,并根据各业务业务对象,并根据各业务对象确定出用于数据定义对象确定出用于数据定义和挖掘算法的业务需求。和挖掘算法的业务需求。精通数据分析技术,并对统计学有精通数据分析技术,并对统计学有较熟练的掌握,有能力把业务需求较熟练的掌握,有能力把业务需求转化为知识发现的各步操作,并为转化为知识发现的各步操作,并为每步操作选择合适的模型或工具。每步操作选择合适的模型或工具。精通
11、数据管理技术,并负责从数精通数据管理技术,并负责从数据库或数据仓库中收集数据。据库或数据仓库中收集数据。15现在学习的是第15页,共93页 数据预处理是进行数据分析和挖掘的基数据预处理是进行数据分析和挖掘的基础。如果所集成的数据不正确,数据挖掘算础。如果所集成的数据不正确,数据挖掘算法输出的结果也必然不正确,这样形成的决法输出的结果也必然不正确,这样形成的决策支持是不可靠的。策支持是不可靠的。所以,要提高挖掘结果的准确率,数据所以,要提高挖掘结果的准确率,数据预处理是不可忽视的一步。预处理是不可忽视的一步。为什么要预处理数据为什么要预处理数据16现在学习的是第16页,共93页 当今现实世界的数
12、据库极易受噪声、当今现实世界的数据库极易受噪声、丢失数据和不一致数据的侵扰,因为数据丢失数据和不一致数据的侵扰,因为数据库太大,并且多半来自多个异构数据源。库太大,并且多半来自多个异构数据源。低质量的数据将导致低质量的挖掘结果。低质量的数据将导致低质量的挖掘结果。如何预处理数据提高数据质量,从而提如何预处理数据提高数据质量,从而提高挖掘结果的质量?如何预处理数据,使得高挖掘结果的质量?如何预处理数据,使得挖掘过程更加有效和容易?挖掘过程更加有效和容易?17现在学习的是第17页,共93页数据预处理的方法数据预处理的方法 有大量数据预处理技术,主要方法有大量数据预处理技术,主要方法如下:如下:数据
13、清洗数据清洗 数据集成数据集成 数据变换数据变换 数据归约数据归约 需要强调的是以上所需要强调的是以上所提的各种数据预处理方法,提的各种数据预处理方法,不是相互独立的,而是相不是相互独立的,而是相互关联的。互关联的。18现在学习的是第18页,共93页2.1.1 数据清洗数据清洗 现实世界的数据常常是不完整的、有现实世界的数据常常是不完整的、有噪声的和不一致的。噪声的和不一致的。数据清洗例程通过填补缺失值、消除异数据清洗例程通过填补缺失值、消除异常数据、平滑噪声数据,以及纠正不一致的常数据、平滑噪声数据,以及纠正不一致的数据。数据。19现在学习的是第19页,共93页1.填补缺失值填补缺失值 假设
14、在分析一个商场销售数据时,发现假设在分析一个商场销售数据时,发现有多个记录中的属性值为空,如:顾客的收有多个记录中的属性值为空,如:顾客的收入属性,这就是缺失值。入属性,这就是缺失值。怎样才能为该属性填上丢失的值?我怎样才能为该属性填上丢失的值?我们看看下面的方法:们看看下面的方法:20现在学习的是第20页,共93页方法方法分析分析忽略该条记录忽略该条记录:若一:若一条记录中有属性值被条记录中有属性值被遗漏了,则将此条记遗漏了,则将此条记录排除在数据挖掘过录排除在数据挖掘过程之外。程之外。当然这种方法并不很当然这种方法并不很有效,尤其是在每个有效,尤其是在每个属性缺失值的记录比属性缺失值的记录
15、比例相差较大时。例相差较大时。手工填补缺失值手工填补缺失值一般讲这种方法比较一般讲这种方法比较耗时,而且对于存在耗时,而且对于存在许多缺失情况的大规许多缺失情况的大规模数据集而言,显然模数据集而言,显然可行性较差。可行性较差。21现在学习的是第21页,共93页方法方法分析分析 使用一个全局常量使用一个全局常量填充缺失值填充缺失值:将缺失:将缺失的属性值用一个常数的属性值用一个常数替换。如:用替换。如:用Unknown来填补。来填补。当一个属性缺失值较当一个属性缺失值较多,若采用这种方法,多,若采用这种方法,就可能误导挖掘进程。就可能误导挖掘进程。因此这种方法虽然简因此这种方法虽然简单,但并不推
16、荐使用。单,但并不推荐使用。利用均值填补缺失利用均值填补缺失值值如:若一个顾客的平如:若一个顾客的平均收入为均收入为12000元,则元,则用此值填补属性中所用此值填补属性中所有被遗漏的。有被遗漏的。22现在学习的是第22页,共93页方法方法分析分析利用同类别均值填补利用同类别均值填补缺失值缺失值。这种方法尤。这种方法尤其在进行分类挖掘时其在进行分类挖掘时使用。使用。如:若要对商场顾如:若要对商场顾客按信用风险进行分客按信用风险进行分类挖掘时,就可以用类挖掘时,就可以用在同一信用风险类别在同一信用风险类别下(如良好)的下(如良好)的income 属性的平均值,属性的平均值,来填补所有在同一信来填
17、补所有在同一信用风险类别下用风险类别下income属性的缺失值。属性的缺失值。23现在学习的是第23页,共93页方法方法分析分析 利用最可能的值填利用最可能的值填补遗漏值。可以利用补遗漏值。可以利用回归分析、贝叶斯计回归分析、贝叶斯计算公式或决策树推断算公式或决策树推断出该条记录特定属性出该条记录特定属性的最大可能的取值。的最大可能的取值。与其他方法相比,与其他方法相比,该方法最大程度地利该方法最大程度地利用了当前数据所包含用了当前数据所包含的信息来帮助预测所的信息来帮助预测所缺失的数据。缺失的数据。24现在学习的是第24页,共93页注意:在某些情况下,注意:在某些情况下,缺失值并不意味着数缺
18、失值并不意味着数据有错误。据有错误。理想地,每个属性理想地,每个属性都应当有一个或多都应当有一个或多个关于空值条件的个关于空值条件的规则。规则。因此,尽管在得到数据后,尽我们所因此,尽管在得到数据后,尽我们所能来清洗数据,但数据库和数据输入能来清洗数据,但数据库和数据输入的好的设计将有助于在第一现场最小的好的设计将有助于在第一现场最小化缺失值或错误的数量。化缺失值或错误的数量。25现在学习的是第25页,共93页2.平滑噪声数据平滑噪声数据 噪声是指被测量的变量的随机误差或噪声是指被测量的变量的随机误差或方差。方差。给定一个数值型属性,如:价格,给定一个数值型属性,如:价格,我们怎样才能我们怎样
19、才能“平滑平滑”数据,去掉噪声数据,去掉噪声?我们看看下面的数据平滑技术:?我们看看下面的数据平滑技术:26现在学习的是第26页,共93页分箱分箱(binning)方法方法 分箱方法通过考察数据的分箱方法通过考察数据的“近邻近邻”(即即周围的值周围的值)来光滑有序数据的值。有序值来光滑有序数据的值。有序值分布到一些分布到一些“箱箱”中。由于该方法考察近中。由于该方法考察近邻的值,因此进行局部光滑。邻的值,因此进行局部光滑。27现在学习的是第27页,共93页箱箱箱“等高度等高度”是是指每个箱都包指每个箱都包含三个数值。含三个数值。第一个箱中第一个箱中4、8、15均用该箱均用该箱的均值的均值9替。
20、替。箱中的最大值和最箱中的最大值和最小值为箱边界,箱小值为箱边界,箱中的每个值被最近中的每个值被最近的边界值替换。的边界值替换。28现在学习的是第28页,共93页聚类方法聚类方法 通过聚类分析可帮助发现异常数据,通过聚类分析可帮助发现异常数据,道理很简单,相似或相邻近的数据聚合在道理很简单,相似或相邻近的数据聚合在一起形成了各个聚类集合,而那些位于这一起形成了各个聚类集合,而那些位于这些聚类集合之外的数据对象,自然而然就些聚类集合之外的数据对象,自然而然就被认为是异常数据。被认为是异常数据。29现在学习的是第29页,共93页30现在学习的是第30页,共93页回归方法回归方法 可以利用拟合函数对
21、数据进行平滑。可以利用拟合函数对数据进行平滑。如:借助线性回归方法,包括多变量回如:借助线性回归方法,包括多变量回归方法,就可以获得的多个变量之间的归方法,就可以获得的多个变量之间的一个拟合关系,从而达到利用一个(或一个拟合关系,从而达到利用一个(或一组)变量值来帮助预测另一个变量取一组)变量值来帮助预测另一个变量取值的目的。值的目的。31现在学习的是第31页,共93页3.不一致数据处理不一致数据处理 现实世界的数据库常出现数据记录内容的不现实世界的数据库常出现数据记录内容的不一致,其中一些数据不一致可以利用它们与外部一致,其中一些数据不一致可以利用它们与外部的关联手工加以解决。例如:输入发生
22、的数据录的关联手工加以解决。例如:输入发生的数据录入错误一般可以与原稿进行对比来加以纠正。入错误一般可以与原稿进行对比来加以纠正。此外还有一些例程可以帮助纠正使用编码时此外还有一些例程可以帮助纠正使用编码时所发生的不一致问题。知识工程工具也可以帮助所发生的不一致问题。知识工程工具也可以帮助发现违反数据约束条件的情况。发现违反数据约束条件的情况。32现在学习的是第32页,共93页 数据挖掘任务常常涉及数据集成操作,数据挖掘任务常常涉及数据集成操作,即将来自多个数据源的数据,如:数据库、即将来自多个数据源的数据,如:数据库、数据立方、普通文件等,结合在一起并形成数据立方、普通文件等,结合在一起并形
23、成一个统一数据集合,以便为数据挖掘工作的一个统一数据集合,以便为数据挖掘工作的顺利完成提供完整的数据基础。顺利完成提供完整的数据基础。在数据集成过程中,需要考虑解决以在数据集成过程中,需要考虑解决以下几个问题:下几个问题:2.1.2 数据集成数据集成33现在学习的是第33页,共93页1.模式集成问题模式集成问题 模式集成问题,即如何使来自多个数据源的模式集成问题,即如何使来自多个数据源的现实世界的实体相互匹配,这其中就涉及到实体现实世界的实体相互匹配,这其中就涉及到实体识别问题。例如:如何确定一个数据库中的识别问题。例如:如何确定一个数据库中的“custom_id”与另一个数据库中的与另一个数
24、据库中的“cust_number”是否表示同一实体。是否表示同一实体。数据库与数据仓库通常包含元数据,所谓元数数据库与数据仓库通常包含元数据,所谓元数据就是关于数据的数据,这些元数据可以帮助避免据就是关于数据的数据,这些元数据可以帮助避免在模式集成时发生错误。在模式集成时发生错误。34现在学习的是第34页,共93页2.冗余问题冗余问题 若一个属性可以从其它属性中推演出若一个属性可以从其它属性中推演出来,那这个属性就是冗余属性。来,那这个属性就是冗余属性。如:一个顾客数据表中的平均月收入属性,就如:一个顾客数据表中的平均月收入属性,就是冗余属性。显然它可以根据月收入属性计算出来。是冗余属性。显然
25、它可以根据月收入属性计算出来。此外属性命名的不一致也会导致集成此外属性命名的不一致也会导致集成后的数据集出现冗余情况。后的数据集出现冗余情况。除了检查属性是否冗余之外,还需要检除了检查属性是否冗余之外,还需要检查记录行的冗余。查记录行的冗余。35现在学习的是第35页,共93页3.数据值冲突检测与消除问题数据值冲突检测与消除问题 对于现实世界的同一实体,来自不同数对于现实世界的同一实体,来自不同数据源的属性值或许不同。产生这样问题原因据源的属性值或许不同。产生这样问题原因可能是表示的差异、比例尺度不同、或编码可能是表示的差异、比例尺度不同、或编码的差异等。的差异等。例如:重量属性在一个系统中采用
26、公制,而例如:重量属性在一个系统中采用公制,而在另一个系统中却采用英制。同样价格属性不同在另一个系统中却采用英制。同样价格属性不同地点采用不同货币单位。地点采用不同货币单位。这些语义的差异为数据集成提出许这些语义的差异为数据集成提出许多问题。多问题。36现在学习的是第36页,共93页 所谓数据变换就是将数据转换或统所谓数据变换就是将数据转换或统一成适合挖掘的形式。数据变换包含以一成适合挖掘的形式。数据变换包含以下处理内容:下处理内容:2.1.3 数据变换数据变换37现在学习的是第37页,共93页内容内容意义意义示例示例光滑光滑去掉数据中的噪声去掉数据中的噪声聚集聚集对数据进行汇总或聚集对数据进
27、行汇总或聚集聚集日销售数据,聚集日销售数据,计算月和年销售量计算月和年销售量数据数据泛化泛化使用概念分层,用高层概念替使用概念分层,用高层概念替换低层或原始数据换低层或原始数据数值属性如年龄,数值属性如年龄,可以映射到高层概可以映射到高层概念如青年、中年和念如青年、中年和老年老年规范化规范化将属性数据按比例缩放,使之将属性数据按比例缩放,使之落入一个小的特定区间落入一个小的特定区间如如-1.01.0或或0.01.0属性属性构造构造构造新的属性并添加到属性集构造新的属性并添加到属性集中,以帮助挖掘过程中,以帮助挖掘过程38现在学习的是第38页,共93页 对大规模数据库进行复杂的数据分析需要对大规
28、模数据库进行复杂的数据分析需要耗费大量时间,这是不现实和不可行的。耗费大量时间,这是不现实和不可行的。数据归约技术正是用于帮助从原有庞大数据集中数据归约技术正是用于帮助从原有庞大数据集中获得一个精简的数据集合,并使这一精简数据集保获得一个精简的数据集合,并使这一精简数据集保持原有数据集的完整性。持原有数据集的完整性。这样进行数据挖掘效率更高,并且挖掘出来的这样进行数据挖掘效率更高,并且挖掘出来的结果与使用原有数据集所获得结果基本相同。结果与使用原有数据集所获得结果基本相同。2.1.4 数据归约数据归约39现在学习的是第39页,共93页 主要方法包括:数据立方体聚集、维主要方法包括:数据立方体聚
29、集、维度归约、数据压缩、数值压缩和离散化等;度归约、数据压缩、数值压缩和离散化等;这些方法主要用于在保证原来数据信息这些方法主要用于在保证原来数据信息内涵减少最小化的同时对原来数据规模进行内涵减少最小化的同时对原来数据规模进行消减,并提出一个简洁的数据表示。消减,并提出一个简洁的数据表示。40现在学习的是第40页,共93页2.2数据库中的知识发现处数据库中的知识发现处理过程模型理过程模型41现在学习的是第41页,共93页 一般地说,一般地说,KDD是一个需要经过多次是一个需要经过多次反复的,包括许多处理阶段的复杂处理过反复的,包括许多处理阶段的复杂处理过程,数据挖掘是其中至关重要的一个阶段。程
30、,数据挖掘是其中至关重要的一个阶段。正因为数据挖掘的重要性,目前的正因为数据挖掘的重要性,目前的KDD研究大多侧重于数据挖掘的研究,而忽略了其研究大多侧重于数据挖掘的研究,而忽略了其他方面。他方面。42现在学习的是第42页,共93页 阶梯处理过程模型将数据库中的知识发阶梯处理过程模型将数据库中的知识发现看作是一个多阶段的处理过程。它的突出现看作是一个多阶段的处理过程。它的突出特点是阶梯状递进的。特点是阶梯状递进的。2.2.1 阶梯处理过程模型阶梯处理过程模型43现在学习的是第43页,共93页图图 KDD阶梯处理过程模型阶梯处理过程模型44现在学习的是第44页,共93页 它强调领域专家参与的重要
31、性,并它强调领域专家参与的重要性,并以问题的定义为中心循环评测挖掘的结以问题的定义为中心循环评测挖掘的结果。当结果不令人满意时,就需要重新果。当结果不令人满意时,就需要重新定义问题,开始新的处理循环。每次循定义问题,开始新的处理循环。每次循环都使问题更清晰,结果更准确,因此环都使问题更清晰,结果更准确,因此是一个螺旋式上升过程。是一个螺旋式上升过程。2.2.2 螺旋处理过程模型螺旋处理过程模型45现在学习的是第45页,共93页图图 螺旋处理过程模型螺旋处理过程模型46现在学习的是第46页,共93页 Brachman和和Anand从用户的角度对从用户的角度对KDD处理过程进行了分析。他们认为数处
32、理过程进行了分析。他们认为数据库中的知识发现应该更着重于对用户据库中的知识发现应该更着重于对用户进行知识发现的整个过程的支持,而不进行知识发现的整个过程的支持,而不是仅仅限于在数据挖掘的一个阶段上。是仅仅限于在数据挖掘的一个阶段上。该模型强调对用户与数据库的交互的支该模型强调对用户与数据库的交互的支持。持。2.2.3 以用户为中心的处理模型以用户为中心的处理模型47现在学习的是第47页,共93页图图 以用户为中心的处理模型以用户为中心的处理模型48现在学习的是第48页,共93页 实现联机交互式实现联机交互式KDD需要可视化技术需要可视化技术支撑。这种可视化需要从数据挖掘过程支撑。这种可视化需要
33、从数据挖掘过程可视化、数据可视化、模型可视化和算可视化、数据可视化、模型可视化和算法可视觉化等方面来理解。法可视觉化等方面来理解。OLAM(On Line Analytical Mining:联:联机分析挖掘)的概念是机分析挖掘)的概念是OLAP的发展。的发展。2.2.4 联机联机KDD模型模型49现在学习的是第49页,共93页An OLAM ArchitectureData WarehouseMeta DataMDDBOLAMEngineOLAPEngineUser GUIAPIData Cube APIDatabase APIData cleaningData integrationL2O
34、LAP/OLAML1MDDBL0Data RepositoryL3User InterfaceFiltering&IntegrationFilteringDatabasesMining querMining result图图 一个一个OLAM结构示意图结构示意图50现在学习的是第50页,共93页 数据与方法相对独立。数据不是针对某一数据与方法相对独立。数据不是针对某一特定知识模式,而是针对某一类问题来抽取。特定知识模式,而是针对某一类问题来抽取。经过预处理后,这些数据对于某些挖掘算法来经过预处理后,这些数据对于某些挖掘算法来说可能存在属性冗余、与目标无关等问题,因说可能存在属性冗余、与目标无关
35、等问题,因此在后面的阶段再进行相关的数据清洗和选择此在后面的阶段再进行相关的数据清洗和选择工作,这样使得解决同一类问题的不同算法可工作,这样使得解决同一类问题的不同算法可以在统一的以在统一的KDD平台上完成。平台上完成。2.2.5 支持多数据源多知识模式的支持多数据源多知识模式的KDD处处理模型理模型51现在学习的是第51页,共93页数据挖掘数据挖掘数据选择数据预处理数据清洗模式选择数据集成DB DW用用户户问题定义问题定义数据抽取数据抽取模式选择模式选择数据预处理数据预处理数据挖掘数据挖掘模式评估模式评估Web/TEXTDB/DWDB数据立方数据立方知识库知识库模式库模式库知知识识目目标标数
36、数据据备备选选数数据据源源数数据据52现在学习的是第52页,共93页2.3知识发现软件或工具的知识发现软件或工具的发展发展53现在学习的是第53页,共93页 虽然市场上已经有许多所谓的知识发虽然市场上已经有许多所谓的知识发现系统或工具,但是,这些工具只能用来辅现系统或工具,但是,这些工具只能用来辅助技术人员进行设计和开发;助技术人员进行设计和开发;而且知识发现软件本身也正处于发展而且知识发现软件本身也正处于发展阶段,仍然存在各种各样需要解决的问题。阶段,仍然存在各种各样需要解决的问题。知识发现软件的发展知识发现软件的发展54现在学习的是第54页,共93页 粗略地说,知识发现软件或工具的发粗略地
37、说,知识发现软件或工具的发展经历了三个主要阶段:展经历了三个主要阶段:独立的知识发现软件独立的知识发现软件横向的知识发现工具集横向的知识发现工具集纵向的知识发现解决方案纵向的知识发现解决方案反映了目前反映了目前知识发现软知识发现软件的两个主件的两个主要发展方向要发展方向55现在学习的是第55页,共93页2.3.1 独立的知识发现软件独立的知识发现软件 独立的知识发现软件出现在数据挖掘独立的知识发现软件出现在数据挖掘和知识发现技术研究的早期。和知识发现技术研究的早期。56现在学习的是第56页,共93页 当研究人员开发出一种新型的数据挖当研究人员开发出一种新型的数据挖掘算法后,就在此基础上形成软件
38、原型。掘算法后,就在此基础上形成软件原型。这些原型系统经过完善被尝试使用。这些原型系统经过完善被尝试使用。这类软件要求用户必须对具体的数据这类软件要求用户必须对具体的数据挖掘技术和算法有相当的了解,还要手工挖掘技术和算法有相当的了解,还要手工负责大量的数据预处理工作。负责大量的数据预处理工作。57现在学习的是第57页,共93页 集成化的知识发现辅助工具集,属集成化的知识发现辅助工具集,属于通用辅助工具范畴,可以帮助用户快于通用辅助工具范畴,可以帮助用户快速完成知识发现的不同阶段处理工作。速完成知识发现的不同阶段处理工作。2.3.2 横向的知识发现工具集横向的知识发现工具集58现在学习的是第58
39、页,共93页 随着横向的数据挖掘工具集的使用日渐随着横向的数据挖掘工具集的使用日渐广泛,人们也发现这类工具只有精通数据挖广泛,人们也发现这类工具只有精通数据挖掘算法的专家才能熟练使用。如果对数据挖掘算法的专家才能熟练使用。如果对数据挖掘和知识发现技术及其算法不了解,就难以掘和知识发现技术及其算法不了解,就难以开发出好的应用开发出好的应用。因此,纵向的数据挖掘解决方案被提出。因此,纵向的数据挖掘解决方案被提出。2.3.3 纵向的知识发现解决方案纵向的知识发现解决方案59现在学习的是第59页,共93页 该方法的核心是针对特定的应用提供完该方法的核心是针对特定的应用提供完整的数据挖掘和知识发现解决方
40、案。由于和整的数据挖掘和知识发现解决方案。由于和具体的商业逻辑相结合,因此,数据挖掘技具体的商业逻辑相结合,因此,数据挖掘技术专门为了解决某些特定的问题被使用,成术专门为了解决某些特定的问题被使用,成为企业应用系统中一部分。为企业应用系统中一部分。60现在学习的是第60页,共93页 特定领域的数据挖掘工具针对性比特定领域的数据挖掘工具针对性比较强,只能用于一种应用。较强,只能用于一种应用。也正因为针对性强,往往采用特殊也正因为针对性强,往往采用特殊的算法,可以处理特殊的数据,实现特的算法,可以处理特殊的数据,实现特殊的目的,发现的知识可靠度也比较高。殊的目的,发现的知识可靠度也比较高。61现在
41、学习的是第61页,共93页2.3.4 KDD系统介绍系统介绍面向特定领域的数据挖掘工具面向特定领域的数据挖掘工具通用的数据挖掘工具通用的数据挖掘工具数数据据挖挖掘掘工工具具软软件件单任务单任务多任务多任务62现在学习的是第62页,共93页2.4知识发现项目的过程化知识发现项目的过程化管理管理63现在学习的是第63页,共93页 开发一个数据挖掘和知识发现项目需要开发一个数据挖掘和知识发现项目需要各方面协同合作而且极易出现问题,因此它各方面协同合作而且极易出现问题,因此它的质量管理问题的讨论是重要而困难的。的质量管理问题的讨论是重要而困难的。近几年,有一些针对数据挖掘和知识近几年,有一些针对数据挖
42、掘和知识发现项目的过程化管理所开展的工作,其发现项目的过程化管理所开展的工作,其中一个典型的模型被称作强度挖掘中一个典型的模型被称作强度挖掘(Intension Mining)的)的I-MIN过程模型。过程模型。64现在学习的是第64页,共93页 I-MIN过程模型把过程模型把KDD过程分成过程分成IM1、IM2、IM6等步骤处理,在每个步骤等步骤处理,在每个步骤里,集中讨论几个问题,并按一定的质里,集中讨论几个问题,并按一定的质量标准来控制项目的实施。下面给出各量标准来控制项目的实施。下面给出各步骤对应任务的简单描述:步骤对应任务的简单描述:65现在学习的是第65页,共93页IM1的任务与目
43、的的任务与目的 它是它是KDD项目的计划阶段,需要确定项目的计划阶段,需要确定企业的挖掘目标,选择知识发现模式,编译企业的挖掘目标,选择知识发现模式,编译知识发现模式得到的元数据。其目的是将企知识发现模式得到的元数据。其目的是将企业的挖掘目标嵌入到对应的知识模式中。业的挖掘目标嵌入到对应的知识模式中。66现在学习的是第66页,共93页IM2的任务与目标的任务与目标 它是它是KDD的预处理阶段,可以用的预处理阶段,可以用IM2a、IM2b、IM2c等分别对应于数据清洗、数等分别对应于数据清洗、数据选择和数据转换等阶段。其目的是生成据选择和数据转换等阶段。其目的是生成高质量的目标数据。高质量的目标
44、数据。67现在学习的是第67页,共93页IM3的任务与目标的任务与目标 它是它是KDD的挖掘准备阶段,数据挖的挖掘准备阶段,数据挖掘工程师进行挖掘实验,反复测试和验掘工程师进行挖掘实验,反复测试和验证模型的有效性。其目的是通过实验和证模型的有效性。其目的是通过实验和训练得到浓缩知识训练得到浓缩知识(Knowledge Concentrate),为最终用户提供可使用的模,为最终用户提供可使用的模型。型。68现在学习的是第68页,共93页IM4的任务与目标的任务与目标 它是它是KDD的数据挖掘阶段,用户通过的数据挖掘阶段,用户通过指定数据挖掘算法得到对应的知识。指定数据挖掘算法得到对应的知识。69
45、现在学习的是第69页,共93页IM5的任务与目标的任务与目标 它是它是KDD的知识表示阶段,按指定要求的知识表示阶段,按指定要求形成规格化的知识。形成规格化的知识。70现在学习的是第70页,共93页IM6的任务与目标的任务与目标 它是它是KDD的知识解释与使用阶段,其的知识解释与使用阶段,其目的是根据用户要求直观地输出知识或集成目的是根据用户要求直观地输出知识或集成到企业的知识库中。到企业的知识库中。71现在学习的是第71页,共93页2.5数据挖掘语言介绍数据挖掘语言介绍72现在学习的是第72页,共93页 设计理想的数据挖掘语言是一个巨大的设计理想的数据挖掘语言是一个巨大的挑战。这是因为数据挖
46、掘覆盖的任务宽、包挑战。这是因为数据挖掘覆盖的任务宽、包含知识形式广(如数据特征化、关联规则、含知识形式广(如数据特征化、关联规则、数据分类、聚集等等)。每个任务都有不同数据分类、聚集等等)。每个任务都有不同的需求,每种知识表示形式都有不同内涵。的需求,每种知识表示形式都有不同内涵。一个有效的数据挖掘语言设计需要对各一个有效的数据挖掘语言设计需要对各种不同的数据挖掘任务的能力、约束以及运种不同的数据挖掘任务的能力、约束以及运行机制有深入地理解。行机制有深入地理解。73现在学习的是第73页,共93页 关系查询语言的标准化,发生在关关系查询语言的标准化,发生在关系型数据库开发的早期阶段。经过不懈系
47、型数据库开发的早期阶段。经过不懈的努力,以的努力,以SQL为代表的关系型数据库查为代表的关系型数据库查询语言的标准化被成功解决。询语言的标准化被成功解决。同样,一个好的数据挖掘语言可以有同样,一个好的数据挖掘语言可以有助于数据挖掘系统平台的标准化进程,推助于数据挖掘系统平台的标准化进程,推动数据挖掘行业的开发和发展。动数据挖掘行业的开发和发展。74现在学习的是第74页,共93页数据挖掘语言的发展数据挖掘语言的发展 数据挖掘语言的发展大致经历了两个数据挖掘语言的发展大致经历了两个阶段:阶段:第一个阶段是研究单位和公司自行研究第一个阶段是研究单位和公司自行研究和开发阶段;和开发阶段;第二阶段是研究
48、单位和公司组成联盟,第二阶段是研究单位和公司组成联盟,研制和开发数据挖掘语言标准化的阶段。研制和开发数据挖掘语言标准化的阶段。75现在学习的是第75页,共93页 根据功能和侧重点不同,数据挖掘语言根据功能和侧重点不同,数据挖掘语言可以分为三种类型:可以分为三种类型:数据挖掘查询语言数据挖掘查询语言 数据挖掘建模语言数据挖掘建模语言 通用数据挖掘语言通用数据挖掘语言2.5.1 数据挖掘语言的分类数据挖掘语言的分类76现在学习的是第76页,共93页2.5.2 数据挖掘查询语言数据挖掘查询语言 希望以一种像希望以一种像SQL这样的数据库查这样的数据库查询语言完成数据挖掘的任务。询语言完成数据挖掘的任
49、务。77现在学习的是第77页,共93页数据挖掘语言的发展数据挖掘语言的发展 J.W.Han等开发的数据挖掘系统等开发的数据挖掘系统DBMiner中数据挖掘查询语言中数据挖掘查询语言DMQL(Data Mining Query Language)是这类)是这类挖掘语言的典型代表。挖掘语言的典型代表。DMQL由数据挖掘原语组成,数据挖掘由数据挖掘原语组成,数据挖掘原语用来定义一个数据挖掘任务。用户使用原语用来定义一个数据挖掘任务。用户使用数据挖掘原语与数据挖掘系统通信,使得知数据挖掘原语与数据挖掘系统通信,使得知识发现更有效。识发现更有效。78现在学习的是第78页,共93页原语的种类原语的种类这些
50、原语有以下几个种类:这些原语有以下几个种类:数据库部分以及用户感兴趣的数据集(包括感数据库部分以及用户感兴趣的数据集(包括感兴趣的数据库属性或数据仓库的维度);兴趣的数据库属性或数据仓库的维度);挖掘知识的种类;在指导挖掘过程中有用的背挖掘知识的种类;在指导挖掘过程中有用的背景知识;景知识;模式估值的兴趣度测量;挖掘出的知识如何模式估值的兴趣度测量;挖掘出的知识如何可视化表示。可视化表示。79现在学习的是第79页,共93页 数据挖掘查询的基本单位是数据挖掘任数据挖掘查询的基本单位是数据挖掘任务,通过数据挖掘查询语言,数据挖掘任务务,通过数据挖掘查询语言,数据挖掘任务可以通过查询的形式输入到数据