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