收藏 分享(赏)

张文昊-智能诊断与专家系统研究室-南京航空航天大学.doc

上传人:weiwoduzun 文档编号:2322689 上传时间:2018-09-10 格式:DOC 页数:40 大小:1.13MB
下载 相关 举报
张文昊-智能诊断与专家系统研究室-南京航空航天大学.doc_第1页
第1页 / 共40页
张文昊-智能诊断与专家系统研究室-南京航空航天大学.doc_第2页
第2页 / 共40页
张文昊-智能诊断与专家系统研究室-南京航空航天大学.doc_第3页
第3页 / 共40页
张文昊-智能诊断与专家系统研究室-南京航空航天大学.doc_第4页
第4页 / 共40页
张文昊-智能诊断与专家系统研究室-南京航空航天大学.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

1、 i编号 南京航空航天大学毕 业 设 计题 目 发动机磨损故障知识获取学生姓名 张文昊学 号 070630227学 院 民航学院专 业 民航机务工程班 级 0706302指导教师 陈果 教授二零一零 年 六 月ii南京航空航天大学本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的毕业设计(论文) (题目:发动机磨损故障知识获取)是本人在陈果导师的指导下独立进行研究所取得的成果。尽本人所知,除了毕业设计(论文)中特别加以标注引用的内容外,本毕业设计(论文)不包含任何其他个人或集体已经发表或撰写的成果作品。作者签名: 年 月 日 (学号):iii发动机磨损故障知识获取摘要本文针对航空发动机故障知

2、识获取困难的问题,引入数据挖掘的思想。对海量的故障数据进行数据挖掘,从中自动提取出对判定发动机的工作状态及故障定位、定性、定因,具有重要的指导意义的规则,从而克服传统知识获取方法,效率低、自适应能力差、学习能力差、实时性差、等一系列问题。主要过程如下:首先,引入目前数据挖掘领域的一款常用的数据挖掘软件,WEKA,并对它进行了汉化。其次,研究了数据库连接技术,通过 JDBC-ODBC 桥接技术,实现了本软件和ACCESS 数据库的连接。接着,在深入研究了本软件中的 J48(C4.5)算法的基础上引入了一组真实的故障发动机数据,通过算法生成了这组数据的决策树。再次,通过自己编的一个算法,从这棵决策

3、树中提取故障知识规则,并对提取出的故障规则进行了解释。最后,通过实际的故障数据验证了提取出的规则的正确性。因此,本文的提取出的故障,对航空发动机故障诊断具有一定的指导意义。关键词:航空发动机,数据挖掘,决策树算法,C4.5,WEKAivABSTRACTMy paper investigate aeroengine of fault knowledge that difficult obtain , I induct mentality of data mining. Mining data to a large number of fault knowledge. Auto distill d

4、eterminant to engine of operative mode , orientation fault, orientation attribute, orientation cause, which have important direction of standard. To overcome the traditional knowledge acquisition methods, low efficiency, adaptive ability, learning ability, poor real-time, and other issues.Main proce

5、ss is as follows: First, the introduction of the current field of a commonly used data mining data mining software, WEKA, and it was finished. Secondly, the study of the database connection technology, through JDBC-ODBC bridge technology, this software and the ACCESS database. Then, in-depth study o

6、f the software in the J48 (C4.5) algorithm based on the introduction of a real engine failure data generated through the algorithm of this set of data for decision tree. Again, through their own series for some algorithms, decision tree extracted from the fault tree of knowledge rules, and failure t

7、o extract the rules were explained. Finally, verify the actual failure data extracted rules is correct.Therefore, this article extracts the fault, engine fault diagnosis of air determined significance.Key words: aeroengine, data mining, decision tree algorithm, C4.5, WEKAv目 录摘要 iiiABSTRACT.iv第一章 绪论

8、.11.1 研究背景及意义 .11.2 国内外研究进展及现状 11.3 论文组织结构 2第二章 WEKA 平台 32.1 WEKA 平台介绍 32.2 图形用户界面简介 32.3 数据获取及其预处理 52.4 本章小结 .11第三章 在 weka 平台下决策树算法性能分析 .123.1 决策树技术 123.1.1 分类 .143.1.2 决策树 .153.1.3 决策树算法 .163.2 weka 平台下决策树性能分析比较 173.2.1 决策树算法评价指标 .183.2.2 C4.5 算法 183.2.3 C4.5 算法的改进 203.2.4 C4. 5 算法构造决策树 213.3 本章小结

9、 .22第四章 weak 平台下的航空发动机知识规则提取 224.1 WEKA 平台与数据库的链接 224.1.1 数据库的链接 224.2 WEKA 平台下的航空发动机知识规则应用及验证 254.2.1 未剪枝的决策树 .254.2.2 对决策树进行剪枝 .284.3 本章小结 .29第五章 总结与展望 .30vi5.1 工作总结 .305.2 进一步的研究 .30参考文献 .311第一章 绪论1.1 研究背景及意义航空发动机是一种典型的高速旋转机械设备,其结构及其复杂,工作在高温,高速的恶劣条件下,很容易发横各种机械故障。对发动机进行状态监控和故障诊断的意义在于:一方面迅速而准确地确定故障

10、的部位及故障严重程度,有利于确保飞行安全以及减少投入维修的人力物力,缩短飞行器的停飞时间,提高飞行器的利用率;另一方面它又是实现现今的维修思想(从“预防维修”为主的维修细项专项“以可靠性为中心的”维修思想)和维修方式(从单纯的定时方式转向定时维修、视情维修和状态监控三种方式)的必要手段与前提条件。近年来,数据挖掘引起了信息产业界和整个社会的极大关注,其主要原因是存在可以广泛使用的大量数据,而数据挖掘可以从大量的数据中挖掘出许多隐含的,有价值的信息,从而指导人们的实践。随着计算机技术、物理学、数学、生物学等学科的日益发展,数据挖掘技术日益完备,其应用范围将越加深入和广泛,这是一个非常有意义的研究

11、方向,具有很强的实用性。1.2 国内外研究进展及现状航空发动机的磨损故障诊断主要是通过监测发动机滑油中的金属和非金属磨粒的含量、浓度、尺寸、形状、和颜色等信息,来诊断发动机的传动系统和具有相互运动的摩擦副的磨损性质、磨损类型和磨损部位。常用的方法是铁谱分析、光谱分析、污染分析、油品理化及能谱分析等。目前主要研究方向为:研制先进的仪器以提高油样分析的精度和效率。特别是开发机载的在线油样分析设备。收集基于油样分析的磨损诊断经验,建立知识库、样本库或案例库,开发基于规则和人工神经网络的智能诊断专家系统。实现多种分析方法的融合诊断,提高诊断精度。2国外美国和加拿大已有商品化的滑油检测专家系统,如加拿大

12、针对柴油机开发的发动机诊断管理系统 EDMS、美国 Mobil 润滑油公司开发的先进快速分析系统 PFALink 等。这些软件所提供的仅仅是一个框架和管理系统,其核心知识库要用户自己开发,另外还需用户提供所监控对象的磨损元素界限值。在国内,西安交通大学在 1983 年就开展了电磁铁谱仪与铁谱技术的研究;中国矿业大学金占明等采用计算机图像分析方法对磨料磨损磨粒的特征提出了一些新方法。北京科技大学崔屹提出并建立了 QSST 系统。南京航空航天大学左洪福教授等研制开发出 DMAS 系列智能化铁谱分析系统。上海交通大学的王伟华等应用磨粒形状、颜色、纹理特征参数作为输入矢量,引入径向基神经网络对磨损微粒

13、进行自动分类识别,建立了适用于磨粒识别的径向基函数神经网络模型。在民航领域,中国民航总局已将航空发动机的状态监测和故障诊断技术作为保障航空安全的重要手段列入了中长期科技发展规划中。中国民航学院、北京航空航天大学和东方航空公司等单位完成了 EMD 的开发;西南航空公司和上海交通大学合作,开展了发动机振动监测诊断的研究工作;南京航空航天大学和南方航空公司、通用航空公司、新疆航空公司等单位联合,进行了欧美制和俄制等多种机型的发动机滑油监测与诊断技术研究。在数据挖掘方面,从数据库中发现知识(KDD)一词首次出现在 1989 年举行的第十一届国际联合人工智能学术会议上。到目前为止,由美国人工智能协会主办

14、的 KDD 国际研讨会已经召开了 8 次,规模由原来的专题讨论会发展到国际学术大会,研究重点也逐渐从发现方法转向系统应用,注重多种发现策略和技术的集成,以及多种学科之间的相互渗透。1999 年,亚太地区在北京召开的第三届 PAKDD 会议收到 158 篇论文,空前热烈。IEEE 的 Knowledge and Data Engineering 会刊率先在 1993 年出版了 KDD 技术专刊。并行计算、计算机网络和信息工程等其他领域的国际学会、学刊也把数据挖掘和知识发现列为专题和专刊讨论,甚至到了脍炙人口的程度。 与国外相比,国内对 DMKD 的研究稍晚,没有形成整体力量。1993 年国家自然

15、科学基金首次支持我们对该领域的研究项目。目前,国内的许多科研单位和高等院校竞相开展知识发现的基础理论及其应用研究,这些单位包括清华大学、3中科院计算技术研究所、空军第三研究所、海军装备论证中心等。其中,北京系统工程研究所对模糊方法在知识发现中的应用进行了较深入的研究,北京大学也在开展对数据立方体代数的研究,华中理工大学、复旦大学、浙江大学、中国科技大学、中科院数学研究所、吉林大学等单位开展了对关联规则开采算法的优化和改造;南京大学、四川联合大学和上海交通大学等单位探讨、研究了非结构化数据的知识发现以及 Web 数据挖掘。1.3 论文组织结构全文分五章:第一章首先介绍了研究课题的背景和意义,对国

16、内外发动机磨损故障诊断方法及数据挖掘的研究现状及进展进行详细的叙述。第二章介绍了 WEKA 平台的使用发放以及操作界面。第三章介绍 WEKA 平台下的各种算法,并比较性能,为发动机故障知识获取诊断选择算法。第四章进行发动机故障知识诊断并对 WEKA 平台进行汉化改良,连接数据库等。提高 WEKA 平台实用性。第五章对全文作总结并且对进攻的工作进行了展望,确定了以后的研究方向。4第二章 WEKA 平台目前国际上,从事 WEKA 或借助 WEKA 研究的人员不少,扩展领域也相当广泛丰富,相关扩展课题多达 29 个。例如有从事基于 WEKA 文本关键字提取的Kea;在互联网上分类应用的 LocBoo

17、st;多关系数据格式处理的 MARFF;基于MQL 语言研究的 KDDML-MQL;可视化得 Weka Vsalization 等。2.1 WEKA 平台介绍WAKE 的实现起源于作者 Eibe Frank 等在机器学习方面的而研究积累 1998年之前的版本是用 C+实现的。从 1998 年开始,Eibe Frank,Ian H,Wittrn等人开始用 JAVA 重写系统。2000 年 4 月在世界最著名的开源站点 注册成为正式开源项目。据 数据显示目前每周约 5.7 万人下载 WEKA 的相关程序和数据2.2 图形用户界面简介WEKA 原来是一款全英文软件后,使用时不是十分方便。因此本人利

18、用Eclipse 开发平台对 WEKA 进行了部分汉化,以下的图片均用汉化后的软件截图。图 2-1 “探索者界面(Explorer) ”界面 5我们应该注意到, “Explorer”还提供了很多功能,实际上可以说这是WEKA 使用最多的模块。现在我们先来熟悉它的界面,然后利用它对数据进行预处理。图 2-2上图显示的是使用 3.5 版“Explorer“打开 engineknowledge“的情况。我们根据不同的功能把这个界面分成 8 个区域。 区域 1 的几个选项卡是用来切换不同的挖掘任务面板。区域 2 是一些常用按钮。包括打开数据,保存及编辑功能。我们在这里把“engineknowledge

19、.csv“另存为 engineknowledge.arff“。 在区域 3 中“选择”某个“Filter” ,可以实现筛选数据或者对数据进行某种变换。数据预处理主要就利用它来实现。 区域 4 展示了数据集的一些基本情况。 区域 5 中列出了数据集的所有属性。勾选一些属性并“移除”就可以删除它们,删除后还可以利用区域 2 的“撤销”按钮找回。区域 5 上方的一排按钮是用来实现快速勾选的。 在区域 5 中选中某个属性,则区域 6 中有关于这个属性的摘要。注意对于6数值属性和分类属性,摘要的方式是不一样的。图中显示的是对数值属性“0_67x”的摘要。 区域 7 是区域 5 中选中属性的直方图。若数据

20、集的最后一个属性(我们说过这是分类或 ju 回归任务的默认目标变量)是分类变量,直方图中的每个长方形就会按照该变量的比例分成不同颜色的段。要想换个分段的依据,在区域 7 上方的下拉框中选个不同的分类属性就可以了。下拉框里选上“No Class”或者一个数值属性会变成黑白的直方图。 区域 8 是状态栏,可以查看“日志”以判断是否有错。右边的 weka 鸟在动的话说明 WEKA 正在执行挖掘任务。右键点击状态栏还可以执行 JAVA 内存的垃圾回收。2.3 数据获取及其预处理巧妇难为无米之炊。首先我们来看看 WEKA 所用的数据应是什么样的格式。跟很多电子表格或数据分析软件一样,WEKA 所处理的数

21、据集是图 2 那样的一个二维的表格。表 2-1这里我们要介绍一下 WEKA 中的术语。表格里作一个属性(Attribute) ,相当于统计学中的一个变量,或者数据库中的一个字段。这样一个表格,或者叫数据集,在 WEKA 看来,呈现了属性之间的一种关系(Relation)。图 2 中一共有 14 个实例,5 个属性,关系名称为 “weather”。WEKA 存储数据的格式是7ARFF(Attribute-Relation File Format)文件,这是一种 ASCII 文本文件。图 2 所示的二维表格存储在如下的 ARFF 文件中。这也就是 WEKA 自带的“weather.arff”文件,

22、在 WEKA 安装目录的“data”子目录下可以找到。代码:% ARFF file for the weather data with some numric features%relation weatherattribute outlook sunny, overcast, rainyattribute temperature realattribute humidity realattribute windy TRUE, FALSEattribute play yes, nodata% 14 instances%sunny,85,85,FALSE,nosunny,80,90,TRUE,n

23、oovercast,83,86,FALSE,yesrainy,70,96,FALSE,yesrainy,68,80,FALSE,yesrainy,65,70,TRUE,noovercast,64,65,TRUE,yessunny,72,95,FALSE,nosunny,69,70,FALSE,yesrainy,75,80,FALSE,yessunny,75,70,TRUE,yesovercast,72,90,TRUE,yesovercast,81,75,FALSE,yesrainy,71,91,TRUE,no8需要注意的是,在 Windows 记事本打开这个文件时,可能会因为回车符定义不一致而

24、导致分行不正常。推荐使用 UltraEdit 这样的字符编辑软件察看ARFF 文件的内容。下面我们来对这个文件的内容进行说明:识别 ARFF 文件的重要依据是分行,因此不能在这种文件里随意的断行。空行(或全是空格的行)将被忽略。以“%”开始的行是注释,WEKA 将忽略这些行。如果你看到的“weather.arff”文件多了或少了些“%”开始的行,是没有影响的。除去注释后,整个 ARFF 文件可以分为两个部分。第一部分给出了头信息(Head information) ,包括了对关系的声明和对属性的声明。第二部分给出了数据信息(Data information) ,即数据集中给出的数据。从“dat

25、a”标记开始,后面的就是数据信息了关系声明关系名称在 ARFF 文件的第一个有效行来定义,格式为relation 是一个字符串。如果这个字符串包含空格,它必须加上引号(指英文标点的单引号或双引号) 。属性声明属性声明用一列以“attribute”开头的语句表示。数据集中的每一个属性都有它对应的“attribute”语句,来定义它的属性名称和数据类型。这些声明语句的顺序很重要。首先它表明了该项属性在数据部分的位置。例如, “humidity”是第三个被声明的属性,这说明数据部分那些被逗号分开的列中,第三列数据 85 90 86 96 . 是相应的“humidity” 值。其次,最后一个声明的属性

26、被称作 class 属性,在分类或回归任务中,它是默认的目标变量。属性声明的格式为attribute 其中是必须以字母开头的字符串。和关系名称一样,如果这个字符串包含空格,它必须加上引号。WEKA 支持的有四种,分别是:numeric-数值型9-分类(nominal)型string-字符串型date -日期和时间型其中 和 将在下面说明。还可以使用两个类型“integer”和“real” ,但是 WEKA 把它们都当作“numeric”看待。注意“integer” , “real”, “numeric”, “date”, “string”这些关键字是区分大小写的,而“relation” “at

27、tribute ”和“date”则不区分。数值属性数值型属性可以是整数或者实数,但 WEKA 把它们都当作实数看待。分类属性:分类属性由列出一系列可能的类别名称并放在花括号中:, , , . 。数据集中该属性的值只能是其中一种类别。例如如下的属性声明说明“outlook”属性有三种类别:“sunny” , “ overcast”和“rainy” 。而数据集中每个实例对应的“outlook”值必是这三者之一。attribute outlook sunny, overcast, rainy如果类别名称带有空格,仍需要将之放入引号中。字符串属性字符串属性中可以包含任意的文本。这种类型的属性在文本挖掘

28、中非常有用。示例:ATTRIBUTE LCC string日期和时间属性:日期和时间属性统一用“date”类型表示,它的格式是attribute date 其中是这个属性的名称,是一个字符串,来规定该怎样解析和显示日期或时间的格式,默认的字符串是 ISO-8601 所给的日期时间组合格式“yyyy-MM-ddTHH:mm:ss” 。数据信息部分表达日期的字符串必须符合声明中规定的格式要求(下文有10例子) 。数据信息中“data”标记独占一行,剩下的是各个实例的数据。每个实例占一行。实例的各属性值用逗号“,”隔开。如果某个属性的值是缺失值(missing value) ,用问号“?”表示,且这

29、个问号不能省略。例如:datasunny,85,85,FALSE,no?,78,90,?,yes字符串属性和分类属性的值是区分大小写的。若值中含有空格,必须被引号括起来。例如:relation LCCvsLCSHattribute LCC stringattribute LCSH stringdataAG5, Encyclopedias and dictionaries.;Twentieth century.AS262, Science - Soviet Union - History.日期属性的值必须与属性声明中给定的相一致。例如:RELATION TimestampsATTRIBUTE t

30、imestamp DATE “yyyy-MM-dd HH:mm:ss“DATA“2001-04-03 12:12:12“2001-05-03 12:59:55“稀疏数据有的时候数据集中含有大量的 0 值(比如购物篮分析) ,这个时候用稀疏格式的数据存贮更加省空间。稀疏格式是针对数据信息中某个实例的表示而言,不需要修改 ARFF 文件的其它部分。看如下的数据:data0, X, 0, Y, “class A“0, 0, W, 0, “class B“11用稀疏格式表达的话就是data1 X, 3 Y, 4 “class A“2 W, 4 “class B“每个实例用花括号括起来。实例中每一个非

31、0 的属性值用 表示。是属性的序号,从 0 开始计;是属性值。属性值之间仍用逗号隔开。这里每个实例的数值必须按属性的顺序来写,如 1 X, 3 Y,4 “class A“,不能写成3 Y, 1 X, 4 “class A“。注意在稀疏格式中没有注明的属性值不是缺失值,而是 0 值。若要表示缺失值必须显式的用问号表示出来。Relational 型属性在 WEKA 3.5 版中增加了一种属性类型叫做 Relational,有了这种类型我们可以像关系型数据库那样处理多个维度了。但是这种类型目前还不见广泛应用,暂不作介绍。3.数据准备使用 WEKA 作数据挖掘,面临的第一个问题往往是我们的数据不是 A

32、RFF 格式的。幸好,WEKA 还提供了对 CSV 文件的支持,而这种格式是被很多其他软件所支持的。此外,WEKA 还提供了通过 JDBC 访问数据库的功能。在这一节里,我们先以 Excel 和 Mat lab 为例,说明如何获得 CSV 文件。然后我们将知道 CSV 文件如何转化成 ARFF 文件,毕竟后者才是 WEKA 支持得最好的文件格式。面对一个 ARFF 文件,我们仍有一些预处理要做,才能进行挖掘任务。.* - .csv我们给出一个 CSV 文件的例子(bank-data.csv) 。用 Ultra Edit 打开它可以看到,这种格式也是一种逗号分割数据的文本文件,储存了一个二维表格

33、。Excel 的 XLS 文件可以让多个二维表格放到不同的工作表(Sheet)中,我们只能把每个工作表存成不同的 CSV 文件。打开一个 XLS 文件并切换到需要转换的工作表,另存为 CSV 类型,点“确定” 、 “是”忽略提示即可完成操作。在 Mat 12lab 中的二维表格是一个矩阵,我们通过这条命令把一个矩阵存成 CSV 格式。csvwrite(filename,matrixname)需要注意的是,Mat lab 给出的 CSV 文件往往没有属性名(Excel 给出的也有可能没有) 。而 WEKA 必须从 CSV 文件的第一行读取属性名,否则就会把第一行的各属性值读成变量名。因此我们对于

34、 Mat lab 给出的 CSV 文件需要用Ultra Edit 打开,手工添加一行属性名。注意属性名的个数要跟数据属性的个数一致,仍用逗号隔开。.csv - .arff将 CSV 转换为 ARFF 最迅捷的办法是使用 WEKA 所带的命令行工具。运行 WEKA 的主程序,出现 GUI 后可以点击下方按钮进入相应的模块。我们点击进入“Simple CLI”模块提供的命令行功能。在新窗口的最下方(上方是不能写字的)输入框写上java weka.core.converters.CSVLoader filename.csv filename.arff即可完成转换。在 WEKA 3.5 中提供了一个“

35、Arff Viewer”模块,我们可以用它打开一个CSV 文件将进行浏览,然后另存为 ARFF 文件。进入“Explorer”模块,从上方的按钮中打开 CSV 文件然后另存为 ARFF 文件亦可。2.4 本章小结本章首先介绍了 WEKA 的大概历史,然后详细介绍了 WEKA 这款软件的用户交互界面以及软件使用步骤,使用方法。并且突出了开放型数据挖掘平台 WEKA与同类产品的优势。13第三章 在 WEKA 平台下决策树算法性能分析人们对数据库技术的长期研究推动着数据挖掘技术的产生和发展,尤其是在基于数据仓库与机器学习的知识发现技术兴起之后,数据挖掘作为其中最关键的技术之一开始得到快速发展。199

36、5 年在加拿大的蒙特利尔召开了第一届知识发现和数据挖掘国际会议标志着数据挖掘已经成为一门独立的研究学科。数据挖掘不仅能够象传统数据处理方法那样,从大型数据库或数据仓库中抽取信息,而且还能在对数据的发现和分析过程中挖掘出数据的特点并归纳出数据之间的相互关系,这样就可以从数据库中自动提取出隐含的、有用的价值模式。现在已经成为数据库系统和机器学习领域的一个重要研究课题,在数据应用需求的不断推动下,数据挖掘技术也得到了更多的应用和重视,其越来越广泛而灵活的与工商业的实际应用相结合并不断进步,有着良好的发展前景。3.1 决策树技术数据挖掘就是从大量的、不完全的、有噪声的、随机的原始数据中,提取隐含在其中

37、的、未知的、具有潜在价值的知识的过程,这里的知识是指规则、模式和约束等。用于挖掘的原始数据可以是多种形式的,如关系型数据库中结构化的数据文本、图形、图像数据等半结构化的数据分布在网络上的异构型的数据等等。用于挖掘的方法可以是数学的或非数学的,演绎的或归纳的。挖掘得到的知识可以用于信息管理、过程控制、决策支持等。总之,数据挖掘是一门广义的交叉学科,它涵盖了统计学、人工智能、机器学习、自动化、数字信号处理等各领域的成果。近年来,数据挖掘进一步加强了多学科的融合,它把人们对数据的应用从低层次的简单查询,提升到了自主学习与知识发现的高度,并以其丰富的内涵、强大的分析能力为各行业提供了有效的决策支持。按

38、照挖掘方式进行分类,数据挖掘可以分为两大类直接数据挖掘和间接数据挖掘。直接数据挖掘是指首先利用待挖掘的数据建立一个挖掘模型,再根据这个模型对未知的需要处理的数据进行描述,数据挖掘中的分类、估值、预测14均属于直接数据挖掘。间接数据挖掘也需要对数据进行建模,但其建模并不是只针对个别数据变量,而是在所有的变量中建立起某种关系,数据挖掘中的关联规则、聚集、描述和可视化都属于间接数据挖掘 。数据挖掘的主要步骤大体如下:(1)数据选择 首先对需要明确数据挖掘的目的,然后对需要解决的问题给出一个明确的定义,找到解决题的关键所在,并在此基础上搜集和整理出合适的数据,这些数据可以来自现有的数据库系统或者数据仓

39、库,为解决问题提供了数据保证。(2) 数据预处理在进行数据搜集和整理的过程中可能会出现部分数据缺失或者冗余的情况,如果不预先对数据进行整理就会对后继数据挖掘造成误导甚至出现严重错误。通过预处理数据可以提高原数据的质量,清除数据噪声和与挖掘目标无关的数据,为进一步的挖掘工作奠定可靠的基础。(3) 数据的转换根据不同的数据挖掘算法可以为数据建立一个或者多个分析模型,这些模型能够准确的对数据集进行建模与描述。一个真正适合挖掘算法的分析模型是数据挖掘成功的关键。(4) 数据挖掘这一步是整个流程最核心的步骤,在此需要针对数据或者模型的特点选取最合适的数据挖掘算法对所得到的经过转换的数据进行挖掘,利用智能

40、方法挖掘数据模式或规律,所有模式推导与知识的获取工作均由挖掘算法来实现。(5) 对数据的分析和同化在获得挖掘结果的基础上,需要采用恰当的标准对挖掘结果进行评估,然后再对评估结果进行深入的分析并得到合理的解释,最后将分析得到的知识集成到业务信息系统的组织结构中去,这是一个同化的过程,这也是进行科学决策的依据。15图 3-1 3.1.1 分类人们在对数据进行分析的过程中经常使用的方法就是数据分类,其目的是提出一个分类函数或分类器,以求能够从数据库中自动提取重要的数据的类别预测,这样就以从历史数据记录中自动推导出给定数据的推广描述,从而能对未来数据进行预测。分类的核心过程就是为数据集构造一个合适的分

41、类器,分类器能把数据库中数据项映射到某一个给定的类别。构造分类器需要对输入数据进行分析,一般用一个训练样本数据集作为输入数据,训练集(Training Set)是一条条的数据库记录(Record)或元组构成的,每一条记录包含若干条属性(Attribute),组成一个特征向量 t。训练集的每条记录还有一个特定的类别标记(Class Label)与之对应,该类别标记是系统的输入,通常是以往的一些经验数据。一个具体样本的形式可为样本向量:(v1,v2,vn) 。在这里 vi 表示字段值,c 表示类别。目前构造分类器的方法主要有决策树法、神经网络方法、近邻学习、贝叶斯法、基于事例的学习等方法等。这些不

42、同的分类器各有优缺点,有三种分类器评价或比较尺度:(1) 预测准确度是用得最多的一种比较尺度,特别是对于预测型分类任务,目前公认的方法是遍分层交叉验证法。(2) 计算复杂度计算复杂度依赖于具体的实现细节和硬件环境,在数据挖掘中,由于操作对象是巨量的数据库,因此空间和时间的复杂度问题将是非常重要的一个环节。(3) 模型描述的简洁度对于描述型的分类任务,模型描述越简洁越受欢迎,例16如,采用规则表示的分类器构造法就更有用,而神经网络方法产生的结果就难以理解。数据挖掘的分类技术可以从大量数据中提取出感兴趣的数据模型,并能够对数据未来的发展趋势进行预测,己经广泛应用在疾病诊断、机器学习、模式识别、客户

43、分类、金融服务等领域,目前来说还不存在一种放之四海皆准的分类方法,根据应用背景及相关数据特征的不同需要针对性的采用不同的分类方法。当前研究的主流是将多种分类方法进行融合,最常用的方法有组合方法和选择方法两类。3.1.2 决策树决策树(Decision tree)又称为判定树,是一种具有二个以上分支的流程图状树结构,除根节点不存在其他入边,其他所有节点都有一条入边、零条或者一条出边。决策树的每个内部结点就是一个决策属性,代表训练样本集中一个非类别属性的测试,且每个结点都与训练样本集的一个子集相关。每个分枝代表一个测试的输出结果。每个叶子结点用一个类属性来标记,代表某种条件下的一个多维数据集,也称

44、为一个类或类分布。决策树由下列元素构成一个非根结点与相关的训练样本子集 F(n):从根结点 r 到 n 的路径咖 r(n1,n2,ni,n)。其中 F(n)就是训练样本集中满足r(n1,n2,ni,n)结点的测试的输出结果。使用决策树进行分类的过程就是从这棵树的根结点开始,不断测试各个结点的特定属性,然后按照给定实例的该属性值对应的树枝向下移动,当找到一个新结点作为下级子树的根时,再从此新的根结点不断的用测试节点代替叶结点,这样不断循环递归,直至达到特定的终止条件为止,最后各级子树上重复执行产生的树型结构共同构成了决策树。因此,一旦生成了一棵判定树,很容易根据根节点到叶子节点的路径,得到 IF

45、-THEN 形式的分类规则。路径上每个内部节点的测试条件的合取形成规则的前件(IF 部分) ,用类属性标记的叶子节点形成规则的后件(THEN 部分) 。决策树的构建一般分为成两个阶段:(1)生成决策树决策树生成的过程中,输入为训练样本数据集,决策树为最终输出结果。决策树的每一个决策结点对应元组进行分类的一个决策属性(测试属性) ,分枝17对应着元组按该属性进一步划分的取值特征,叶子代表类或类的分布。首先,根据用户的实际需要选择类别标识属性和决策树的决策属性集,决策属性集是指在候选属性(除了类别标识属性之外的所有属性)中选择的属性集,然后开始构造决策树。决策树归纳的基本算法是贪心算法,是以自顶向

46、下递归的各个击破的方式决策树。(2)对决策树剪枝先利用训练数据生成一个测试函数,根据不同取值建立树的各个分支和子树。然后对决策树进行剪枝处理,最后为各个节点建立分类或决策规则,利用这些规则数据进行分类。基于决策树的分类方法与其它分类方法比较起来,具有速度较快、容易转化成简单且便于理解的分类规则、容易转换成数据库查询语句等优点,尤其在问题维数高的情况可以得到很好的分类结果, 。数据挖掘中的决策树是一种应用广泛的技术,它可以很方便地转化为分类规则,是一种非常直观的分类模式表示形式,故决策树经常被用于分类数据和归纳决策规则,根据应用背景的不同它能够针对性的对大量数据进行分类,从中挖掘出潜在的、有价值

47、的信息,并且在处理非数值型数据方面优势明显。3.1.3 决策树算法决策树算法是一种应用比较广泛的归纳推理分类方法,它采用自顶向下的方式将从一组训练数据中学习到的函数表示为一棵分类决策树,适用于分类数据和归纳决策规则,其处理流程简单,算法复杂度低,特别适合处理较大规模的数据。决策树算法先根据训练子集(A 称为窗口)形成决策树,如果该树不能对所有对象给出正确的分类,那么选择一些实例(Example)加入到窗口(Window)中,重复该过程一直到形成正确的决策集,最终得到一棵树。最有影响和最早的决策树方法是由提出的基于信息熵的算法,但决策树是一种单变量决策树,存在概念复杂难以表达、抗噪性差等缺陷。大

48、多数的判定树算法都包括两个阶段构造树阶段和树剪枝阶段。在构造树阶段,通过对分类算法的递归调用,产生一棵完全生长的判定树。构造树的通用算法描述如下:MakeDecision(Training Dataset T)If(T 满足某个终止条件)Then return;18For (i=1;i=T 中属性的个数;i+)评估每个属性关于给定的属性选择度量的分裂特征;找出最佳的测试属性并据此将 T 划分为 T1 和 T2;MakeDecisionTree(T1) ;MakeDecisionTree(T2) ;End if算法的终止条件一般有三种情况:(1)T 中的所有训练样本都属于同一个类,则将此节点作为

49、一个叶子节点,(2)并以该类标记该节点;(3)没有属性可以用作测试属性;(4)训练样本的数量太少(少于用户提供的某个阀值) 。后两种情况通常以训练样本中占优势的类标记该叶子节点。属性选择度量有信息增益(information gain) (如 ID3,C4.5 等算法) ,Gini 指数(如SLIQ,PRINT 算法) ,G-统计等。通常情况下,一棵能够完美地分类训练样本集的判定树并不是一棵最精确的判定树,因为这样的一棵树对训练样本集过分敏感,而训练样本集无可避免的存在噪声和孤立点。树剪枝阶段的目的就是要剪去过分适应训练样本集的枝条。较为常见的剪枝算法主要有悲观错误率剪枝算法,最小描述长度(MDL)剪枝算法等。3.2 WEKA 平台下决策树性能分析比较WEKA 平台下有多种决策树算法(如下图) ,这里我们对于这些部分算法进行分析比较。选取其中比较适合进行航空发动机分类预测的算法进行深入研究。19图 3-23.2.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报