收藏 分享(赏)

基于临床数据的数据挖掘软件开发——分类分析模块及关联规则模块设计.doc

上传人:wo7103235 文档编号:6268459 上传时间:2019-04-03 格式:DOC 页数:57 大小:2.01MB
下载 相关 举报
基于临床数据的数据挖掘软件开发——分类分析模块及关联规则模块设计.doc_第1页
第1页 / 共57页
基于临床数据的数据挖掘软件开发——分类分析模块及关联规则模块设计.doc_第2页
第2页 / 共57页
基于临床数据的数据挖掘软件开发——分类分析模块及关联规则模块设计.doc_第3页
第3页 / 共57页
基于临床数据的数据挖掘软件开发——分类分析模块及关联规则模块设计.doc_第4页
第4页 / 共57页
基于临床数据的数据挖掘软件开发——分类分析模块及关联规则模块设计.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

1、本 科 毕 业 论 文基于临床数据的数据挖掘软件开发 分类分析模块及关联规则模块设计The Software Development of Clinical Data MiningThe Design of Classification Analysis Module and Association Module姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:校内指导教师: 助理教授年 月摘要I摘要近十几年,随着科学技术飞速的发展,经济和社会都取得了极大的进步,与此同时,在各个领域产生了大量的数据,人们累积的数据也越来越多,如人类对太空的探索,银行每天的巨额交易数据。 激

2、增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据,在数据仓库里面,通过研究数据之间看似毫无关系的信息,发现隐藏的规律。计算机技术的迅速发展使得快速处理数据成为可能,这就推动了数据库技术的极大发展。但是目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。使用数据挖掘工具进行数据分析,可以发现重要的数据模式,对商务策略、知识库、科学和医学研究做出巨大贡献,将数据坟墓转换成知识“金块” 。本软件设计开发的目的

3、就是希望能够从一堆数据中挖掘出有价值的“金块” 。本软件的设计就是基于上述原因,完成一个针对癌症病理医学的数据分析挖掘软件,包括后台功能的实现和前台管理软件界面的设计。调用 weka.jar 包里面的类方法,实现了数据预处理、关联规则、分类、聚类等四个模块的功能。并将数据以散点图、柱状图、折线图、饼图等可视化方法显示,以进行可视化的分析。关键字:医学数据;数据挖掘;weka. 摘要IIAbstractIIIAbstractIn recent years, along with the rapid development of science and technology, economy an

4、d society has made great progress. As various fields produce a large number of data, we accumulated more and more data, such as human space exploration, the major trading data bank everyday. And it is desired to obtain the higher level analysis, in order to better use the knowledge deep inside the d

5、ata warehouse and data through the study of the relationship between different information, finding hidden rules. With the rapid development of computer technology, data can be made with the database technology greatly promoted the development. The current database system can effectively achieve dat

6、a entry, inquiry, statistics, and so on the function, but couldnt find the relationship of data and rules, can according to the existing data to predict the future trend of development. Lacking of knowledge of data mining behind the means, causing the explosion but little knowledge “data“ phenomenon

7、. The data mining techniques can discover the importance of data model, business strategies, and knowledge base, scientific and medical research made great contribution to the grave, which will convert knowledge “data“ to gold. The design of the software development goal is hoping to a pile of data

8、mining of value “gold“.This software is designed based on the above reasons. It is a medical data mining software for the cancer pathological analysis, including backstage function realization and the software design based on the management which is called “weka”. The methods of bag jar realizes dat

9、a pretreatment, the association rules, classification, clustering of four modules. And the data for a dot chart, histogram, line charts and pie charts, etc, can also be displayed with the visualization methods visual analysis.Key words: clinical data, data mining, weka目录IV目录第一章 绪论 .11.1 引言 11.1.1 起源

10、 11.1.2 什么是数据挖掘 11.1.3 课题背景 21.1.4 课题研究意义 31.1.5 目标 31.2 论文组织结构 4第二章 模块及功能介绍 .62.1WEKA 简介 62.2Eagle-I 简介 .62.3 开发环境 62.4 技术及原理介绍 72.4.1 分类器原理 72.4.2 分类 72.4.3 分类器算法 72.4.4 测试集选项 82.4.5 关联规则原理 92.4.6 多表关联规则 9第三章 概要设计 .113.1 编写目的 .113.2 总体设计 .113.2.1 整体结构设计 .113.2.2 模块设计 .123.3 接口设计 .133.3.1 内部接口 133.

11、3.2 外部接口 153.4 运行设计 .153.4.1 运行模块组合 15目录V3.4.2 运行控制 153.5 系统出错处理设计 .163.5.1 出错信息提示 163.5.2 补救措施 .16第四章 详细设计及实现 .174.1 编写目的 .174.2 软件结构 .174.2.1 软件架构 174.2.2 系统包图 174.2.3 系统类图 194.3 界面设计 .234.4 流程设计 .244.4.1 系统流程 244.4.2 模块流程 254.5 模块设计与实现 .264.5.1 关联规则 264.5.2 分类器 32第五章 测试结果及分析 .425.1 系统测试 .425.2 集成

12、测试 .42第六章 总结与展望 .446.1 论文总结 .446.2 使用工具 .446.3 项目展望 .45参考文献 .46致 谢 .47ContentVIContentChart 1 Preface .11.1 Introduction 11.1 Introduction 11.1.1 Origin.11.1.2 What is data mining.11.1.3 Background21.1.4 Research significance 31.1.5 Goal.4Chart 2 Introduction function module 62.1WEKA Introduction62.

13、2Eagle-I Introduction62.3Development environment62.4Technology and principle introduction .72.4.1Classifier principle72.4.2Classifier.72.4.3Classiffier function .72.4.4Test set82.4.5Association principle 92.4.6Multi-table association .9Chart 3Outlinedesign113.1Purpose .113.2Overall design 113.2.1 Wh

14、ole Structure design .113.2.2 Module design .123.3Interface design133.3.1Internal interface.133.3.2External interface153.4Operation design153.4.1Operation modules153.4.2Operational control.153.5System error processing design16ContentVII3.5.1Wrong information clew.163.5.2 Remedial measures16Chart 4De

15、taile design and realization 174.1Purpose .174.2 Software structure 174.2.1Software architecture174.2.2System packages.174.2.3System classes 194.3UI design.234.4Process design 244.4.1System process .244.4.2Module process.254.5 Module design and realization 264.5.1Association .264.5.2Classifier.32Cha

16、rt 5 Test results and analysis .425.1System test425.2Integration testing .42Chart 6 Summarize and prospect 446.1Paper summarize .446.2Use tools446.3Project outlook.45References 46Thanks 47绪论1第一章 绪论1.1 引言1.1.1 起源需要是发明之母。近年来,数据挖掘引起了信息产业界的极大关注,其主要原因是存在大量数据,可以广泛使用,并且迫切需要将这些数据转换成有用的信息和知识。获取的信息和知识可以广泛用于各种

17、应用,包括商务管理,生产控制,市场分析,工程设计和科学探索等。数据挖掘利用了来自如下一些领域的思想:(1) 来自统计学的抽样、估计和假设检验,(2) 人工智能、模式识别和机器学习的搜索算法、建模技术和学习理论。数据挖掘也迅速地接纳了来自其他领域的思想,这些领域包括最优化技术、进化计算、信息论、信号处理、可视化和信息检索。一些其他领域也起到重要的支撑作用。特别地,需要数据库系统提供有效的存储、索引和查询处理支持。源于高性能(并行)计算的技术在处理海量数据集方面常常是重要的。分布式技术也能帮助处理海量数据,并且当数据不能集中到一起处理时更是至关重要。1.1.2 什么是数据挖掘数据挖掘是从大型数据库

18、中提取人们感兴趣的知识,这些知识是隐含的、事先不知的,潜在有用的信息 1。数据挖掘涉及到机器学习、模式识别、统计学、智能数据库、知识获取、数据可视化、高性能计算、专家系统等各个领域。它不仅面向特定数据库的简单检索查询调用,而且要对这些数据进行微观、中观乃至宏观的统计、分析、综合和推理,以指导实际问题的求解,企图发现事件间的相互关联,甚至利用已有的数据对未来的活动进行预测。就是把人们对数据的应用从低层次的末端查询操作,提高到为各级经营决策者提供决策支持。数据挖掘的步骤:绪论2 创建目标数据集: 数据选择 数据清理和预处理: 消除噪声和不一致的数据(可能占全部工作的 60%以上!) 数据集成:多种

19、数据源可以组合在一起。 数据归约与变换:发现有用的特征,维/变量规约,不变量的表示。 数据挖掘的方法:预处理, 分类, 关联, 聚类. 模式评估和知识表示:可视化, 变换, 删除冗余模式, 等. 发现知识的使用用图示表示如下:研究员数据库处理器数据库数据库数据库12345条形图砰 ! ! !知识数据库数据挖掘软件数据清理数据挖掘模式评估选择页 1数 据 挖 掘 过 程图1-1:数据挖掘过程图1.1.3 课题背景选择基于临床数据的数据挖掘这个项目作为毕业设计项目的原因有三点,一是出于自己的兴趣,二是对导师的选择,三是该毕业设计的项目具有实绪论3际的意义。基于医学数据的数据挖掘项目是由老师指导的,

20、为与中山医院合作的研究项目的一个子课题。医生收集所在中山医院的病人的病理、病历数据,希望通过数据挖掘的方式研究出各种数据之间的隐藏的联系,发现各种癌症病理之间的潜在关系。该软件是针对医生研究的需要制定特定的、简单的、适用的功能,以帮助研究人员更快、更好、更准确的研究各种癌症病因、病历资料之间的相互关联关系。目前,数据挖掘在医学领域的运用主要集中在以下四个方面 2:1. 疾病辅助诊断:采用数据挖掘技术,对大量的医疗历史信息进行处理,以期发现具备医学价值的诊断规则,然后依据患者的各项体征与病征(比如性别、年龄、各项检查结果等)做出诊断结论。由于是对大量的历史数据进行挖掘,提高了诊断的客观性和可靠性

21、,所得的诊断结果也具有一定的普遍性。2. 药物开发:采用数据挖掘建立的药物开发系统,可以准确定位开发目标,有效缩短开发周期,提高效益。3. 遗传学研究:遗传是由基因决定的,而基因包含有大量的 DNA 数据。通过数据挖掘技术的应用,可以从 DNA 数据表中寻找到具有统计特异性的序列组 3 4,提高研究的有效性。4. 医院信息系统:包含临床信息系统和管理信息系统两部分。数据挖掘技术主要应用在关注疾病信息(比如发病率、以及患者人数变化等) 、医疗器械及药物使用等领域。本项目的主要目的在于找出癌症的发病情况与体征因素和其他病理因素之间的联系。1.1.4 课题研究意义癌症的发病原因,目前仍在深入研究之中

22、,但大量的监床观察和实验研究资料表明,许多因素与恶性肿瘤的发病有着密切的关系。而且癌症的治愈率很低,若能够利用本软件,对提供的真实的医疗病人数据挖掘出一些关联关系,为癌症的研究与治疗提供一定的参考价值,并能对后续的开发研究工作起到启发作用,因而本软件在实际应用中和科研都具有很大意义。绪论41.1.5 目标1. 整体目标完成一个针对癌症病理医学的数据分析挖掘软件,包括后台功能的实现和前台管理软件界面的设计。基于 weka 进行二次开发 5,调用 weka 内部代码实现部分功能并自己编写添加新的特定功能。参考 AlphaMiner 的数据预处理及可视化功能,完成算法程序的设计以及实现相应的软件包,

23、并最终保证软件界面友好,运行稳定,功能完善。2. 模块目标分类器模块设计目标:选择要处理的数据集,对数据集进行分类处理 6 。针对数据集可以选择不同的算法,最基本的分类器算法有:朴素贝叶斯、多层感知器、神经网络、J48决策树,集成学习算法,其中集成学习又可以选用多层感知器、神经网络、J48决策树的方法。模块算法可以添加、删除、扩展等新的功能。功能算法部分采用如果库函数有则直接调用,没有则直接编写的原则,实现基于 weka 库函数的若干算法。实现不同算法的参数设置、保存、修改、及解释。数据的查看,决策树挖掘结果的树形可视化 7,文本结果的保存等。设置测试选项,实现 5 折交叉测试和 10 折交叉

24、测试。关联规则模块设计目标:关联规则挖掘是软件设计的最基础目标,目的在于挖掘出不同类型数据之间的联系 8。采用 weka 库函数提供的 Apriori 算法,实现 Apriori 算法的参数设置、保存、修改、及解释,以此为基础实现基于单表的管理规则挖掘,选择特定的两属性进行关联规则挖掘。采用将两个不同的数据源合并的方法实现基于多表的关联规则挖掘 9。编写 JSApriori 算法 10,在有一个数据表的基础上,再导入一个数据表,并通过关键字段将两表连接成为一个表对拓展后的表进行数据挖掘。1.2 论文组织结构本论文总共可以分为七章,论文首先论述了数据挖掘的一些背景知识及本软件开发的原因及意义。结

25、合医院数据挖掘的要求,引出了论文所做的主要工绪论5作内容。紧接着论文简单概述了该毕业设计项目中所用到的各项技术,并在概要设计里面详述了软件的流程设计,接口设计等;在详细设计里面充分细化到每一个类的设计编写,类之间的调用关系,模块功能,还有具体的界面效果图。论文具体安排如下:第一章 引言部分简单介绍了数据挖掘的起源,及在现代社会生活中的重要地位。针对癌症病理的医疗数据和中山医院研究人员的要求,提出了毕业设计的背景、目标和研究价值。第二章 概述了软件开发过程中所使用的各项技术和原理,项目开发所用到的工具、环境等。第三章 软件开发设计的初始阶段即概要设计,根据需求分析的结果设计软件的大致模型及运行流

26、程。第四章 详细介绍了各个模块的功能及实现过程,各种技术的运用,不同模块类的调用、联系。界面的实现及其效果图,挖掘过程的效果图、结果的显示、保存与分析。第五章 软件开发完成需要进行全面的测试,包括整体测试、模块测试、单元测试等,以保证软件能够正常运行。分析测试得到的结果,提出错误处理的方式,尽量减少软件的 bug。第六章 总结从项目立项以来到开发完成所遇到的困难,解决困难的方法,开发过程中协同合作的体会。对软件后期的维护,功能拓展的展望,提出软件功能拓展的方法,可应用的方向。绪论6模块及功能介绍7第二章 模块及功能介绍2.1WEKA 简介Weka 的全名是怀卡托智能分析环境(Waikato E

27、nvironment for Knowledge Analysis) ,是一款免费的,非商业化(与之对应的是 SPSS 公司商业数据挖掘产品-Clementine )的,基于 JAVA 环境下开源的机器学习(machine learning)以及数据挖掘(data mining)软件。WEKA 作为一个公开的数据挖掘工作平台,集合了大量能承担数据挖掘任务的机器学习算法,包括对数据进行预处理,分类,回归 、聚类、关联规则以及在新的交互式界面上的可视化。而开发者则可使用 Java 语言,利用 Weka 的架构上开发出更多的数据挖掘算法。2.2Eagle-I 简介Eagle-I 取自于谐音 Eagl

28、e-Eye 寓意鹰眼,希望该款软件能够具有像老鹰一样锐利的眼睛,于杂乱无章的数据中直接、快速发掘有价值的信息,成为使用者的好帮手,希望对癌症病的研究起到一定的作用。Eagle-I 是由厦门大学软件学院三个有着共同兴趣的小组成员在导师的指导下,设计开发完成。该软件大致分为界面模型部分,数据预处理部分、内部函数实现部分及可视化结果分析部分。每个小组成员负责不同的部分,协同合作共同完成此毕业设计项目。2.3 开发环境a) 开发工具:使用 Eclipse6.5/MyEclipse。b) 开发语言:JAVAc) 开发系统:Windows XPd) 项目管理:在 Google Code 上建立项目 Eag

29、le-I,安装 SVN 上传、更新模块及功能介绍8实现对项目的管理。e) 适用数据对象:*.arff、*.csv、*.xls.2.4 技术及原理介绍2.4.1 分类器原理分类是将一个未知样本分到几个预先已知类的过程 11。数据分类问题的解决是一个两步过程:第一步,建立一个模型,描述预先的数据集或概念集,是为学习阶段。第二步,通过分析由属性描述的样本(或实例,对象等)来构造模型。2.4.2 分类假定每一个样本都有一个预先定义的类,由一个被称为类标签的属性确定。为建立模型而被分析的数据元组形成训练数据集。Weka 分类算法的父类已经定义好了类 Classifier 的结构和框架,其中有三个最主要的

30、方法:a) buildClassifier():这是一个抽象方法,所有继承他的类都要事先改方法。用于构造分类器,这是分类算法的统一接口,不同的分类算法主要就是在这个方法上不同,如 Bayes 等。b) classifyInstance()建立了分类学习模型后,训练了一定的数据,求每一个实例的类概率,就是这个方法实现的,用于预测实例更可能属于的类别,主要用于预测类标志为数值类型的分类。c) distributionForInstance()用于预测给定实例归为某个类的概率。如果实例没有被分类,返回一个全零的数组,如果类标志是数值类型的,则只返回一个值。所有的分类器必须实现 classifyIns

31、tance()和 distributionForInstance()中的一个。2.4.3 分类器算法1) 朴素贝叶斯(NBC)基于贝叶 12斯定理: 朴素贝叶斯模型所需估计的参数很少,对缺失数据不太敏感,算法也比较简单。在属性相关性较小时,NBC 模型的性能最为良好。朴素贝叶斯模型:)(|(XPH模块及功能介绍9Vmap=arg max P( Vj | a1,a2.an) Vj 属于 V 集合,其中 Vmap 是给定一个 example,得到的最可能的目标值,其中 a1.an 是这个 example 里面的属性, Vmap 目标值,就是后面计算得出的概率最大的一个.所以用 max 来表示。2)

32、 多层感知器(MLP)使用感知器的主要目的是为了对外部输入进行分类。多层感知器是通过在单层感知器的输入、输出层之间加入一层或多层处理单元所构成的,它的输入与输出之间是一种高度非线性的映射关系,可以实现非线性可分问题的分类。3) RBF 神经网络神经网络思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布储在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。人工神经网络就是模拟人思维的第二种方式,其特色在于信息的分布式存储和并行协同处理。4) J48 决策树决策树 13算一种类似于流程图的树结构,其中每个内部节点表示一个属性上的测试,每个分枝代表一个测试输出,而

33、每个树叶节点存放一个类标号。决策树很擅长处理非数值型数据。5) 集成学习(Bagging)使用 bagging 算法进行预测,分别选择 J48 决策树,多层感知器和 RBF神经网络作为基学习器,在单个学习器相同参数设置的情况下比较使用单个学习器与使用集成学习系统获得的结果有什么不同,并分析原因;一般设置基学习器个数为 10。2.4.4 测试集选项之所以要作测试主要算为了测试算法的准确性,最常用的测试方法有两种:设置测试集和交叉测试。选择选项里面的测试方式:1) 设置测试集 (Supplied test set):需要导入测试集树据与原数据集处理的结果进行对比分析。2) 交叉测试:设置交叉测试参

34、数(Cross-validation Flods),测试参模块及功能介绍10数设置的越大准确性越高,但同时需要花费的时间也多,因此为了取得效率和质量的平衡,一般设置参数为 10 即 10 折交叉验证。为了满足不同测试数量的结果不同还要实现 5 折交叉验证。具体功能实现包含在参数设置模块里面。2.4.5 关联规则原理数据关联:数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(Frequent Itemsets),第二阶段再

35、由这些高频项目组中产生关联规则(Association Rules)。Apriori 算法Apriori 算法是一种最有影响的挖掘布尔关联规则频繁项集的算法。其核心是基于两阶段频集思想的递推算法。Apriori 在 weka 中关联规则用到的核心类有:Apriori.java,AprioriItemSet.java,ItemSet.java。Apriori.java 实现了 Apriori 类, 它是 Apriori 算法实现的主类。在对数据源文件进行Apriori 算法运算时 , 就是从该类的 main 函数调用开始的。Apriori 中用到的关键函数有:resetOptions():被构造

36、函数 Apriori()调用, 完成初始化变量的工作;buildAssociations(Instances):本函数是生成关联规则的核心函数, 它调用了 findLargeItemSets 和 findRulesQuickly 函数以生成规则;findLargeItemSets( ):找出所有出现频率大于 m_ minSupport 的选项集;findRulesQuickly():找出所有的关联规则。2.4.6 多表关联规则当数据库中的表以星型模式组织在一起的时候,采用一种非 ILP 方法的算法即 JSApriori 算法,该算法分为两个阶段;在第一阶段,通过分析事实表的模块及功能介绍11外

37、键到维表主键之间的联系,算法首先在每个单独的表上运用修改的 Apriori算法找寻频繁项集;在第二阶段,将属于不同表的频繁项集进行合并,寻找合并后仍频繁的项集。该算法可以得出与 Apriori 算法运行在链接的表上相同的结果,而且具有更好的性能。算法步骤具体步骤如下:(1) 在每个单独的维表上寻找频繁项集。(2) 利用事实表发现跨维表的频繁项集。该算法先后采用两步完成不同的处理工作,连接和处理,因此,不必存储和完整的生成它。这是该算法比直接在连接表上运行 Apriori 算法效率有所提高的原因。概要设计12第三章 概要设计3.1 编写目的从该阶段开发正式进入软件的实际开发阶段,概要设计的主要任

38、务是根据需求,分析设计软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。概要设计有多种方法。在早期有模块化方法、功能分解方法;面向数据流和面向数据结构的设计方法; 面向对象的设计方法等。该软件采用面向对象的设计方法。该部分的目的就是进一步细化软件设计的总体概貌及功能。3.2 总体设计3.2.1 整体结构设计Eagle-I 是一款有着强大功能的,特定设计开发有着简单美观的界面的软件。E A G L E - I预处理关联规则 分类处理 聚类分析概要设计13图 3-1:总体结构图3.2.2 模块设计小组三位成员

39、负责不同模块的设计及功能实现,从界面的编写,接口的设计再到代码的实现及测试完全由模块的负责人完成,所以每个小组成员既要熟悉数据挖掘的流程,又要清楚各自模块的功能特点,更为重要的是成员之间的相互合作,代码的冗余处理等。本人在这个项目里面主要负责编写关联规则及分类处理模块。1) 关联规则关联规则挖掘分为基于单表的数据挖掘和基于多表的数据挖掘。多表的关联规则挖掘主要是方法是导入两份文件数据,根据他们主键之间的相互关联关系,生成一张组合的表,然后对新表进行数据挖掘的过程。单表关联 多表关联关联规则文件 文件文件二文件一C o m b i n e图 3-2:关联规则模型图概要设计142) 分类处理对经过

40、数据预处理之后得到的有效的数据集,选择不同的分类处理方法,挖掘数据集并对挖掘的结果进行分析。J48决策树朴素贝叶斯神经网络多层感知器集成学习bagging分类处理J48决策树神经网络多层感知器学习器选择图 3-2:分类器模型图3.3 接口设计接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。系统内部代码及方法的实现,外部使用人员无需知道,也不能被修改,只需使用即可。因此为这些方法的使用提供一些接口,供外部使用。3.3.1 内部接口interface AprioriInterfac

41、e /* 所有属性关联规则挖掘 */概要设计15public String getAprioriRules(Instances m_instances);/*任意两属性的关联规则挖掘,第一个参数为对象数据表,public String getAprioriTwoRules(Instances m_instances,String attributesOne, String attributesTwo, int numOne, int numTwo);设置关联规则属性public void setAprioriAttribute(boolean car, int classIndex, doub

42、le delta, double lowerBoundMinSupport, double minMetric, int numRules,boolean outputItemSets, boolean removeAllMissingCols,double significanceLevel, double upperBoundMinSupport,boolean verbose);interface JSAprioriInterface /*所有属性关联规则挖掘 */public String getJSAprioriRules(Instances m_instances);/* 合并数据

43、表 */public void conbineInstances(Instances instances_1, Instances instances_2, int key1, int key2);interface BaggingInterface /*调用weka的Bagging 方法public String metaBagging(Instances m_instances) throws Exception;/*参数设置public void setBaggingAAttribute(int bagSizePercent, boolean calcOutOfBag,Classifie

44、r classifier, boolean debug, int numIterations, int seed,int numFolds);interface J48Interface /*调用J48方法*/public String classifyJ48(Instances m_instances) throws Exception;/*设置J48方法属性值*/public void setJ48Attribute(boolean binarySplits, float confidenceFactor,boolean debug,int minNumObj, int numFolds,

45、 boolean reducedErrorPruning,boolean saveInstanceData, int seed, boolean subtreeRaising,boolean unpruned, boolean useLaplace,int crossNumFolds) throws Exception;interface MLPInterface/*调用内部多层感知器函数*/public String functionsMLP(Instances m_instances) throws Exception;概要设计16/*设置参数public void setMLPAttri

46、bute(boolean GUI, boolean autoBuild, boolean debug,boolean decay, String hiddenLayers, double learningRate,double momentum, boolean nominalToBinaryFilter,boolean normalizeAttributes, boolean normalizeNumericClass,boolean reset, int seed, int trainingTime, int validationSetSize,int validationThreshol

47、d, int crossNumFolds);interface NaiveBayesInterface /*调用内部朴素贝叶斯算法*/public String classifyNaiveBayes(Instances m_instances) throws Exception;/* 设置朴素贝叶斯算法属性值public void setNaiveBayesAttribute(boolean debug,boolean displayModelInOldFormat, boolean useKernelEstimator,boolean useSupervisedDiscretization,

48、int crossNumFolds);interface RBFInterface /*调用内部神经网络函数public String functionsRBFNetwork(Instances m_instances) throws Exception;/*设置神经网络函数属性值*/public void setRBFAttribute(int clusteringSeed, boolean debug, int maxIts,double minStdDev, int numClusters, double ridge,int crossNumFolds);3.3.2 外部接口支持处理器

49、P(R) D 计算机,内存 2GB 的计算机;支持 WindowsXP 以上操作系统。3.4 运行设计3.4.1 运行模块组合对同一数据源可以同时使用多种挖掘方法,如先使用管理规则挖掘,然后对挖掘后的市局进行分类挖掘或是聚类方法挖掘。不同模块方法的使用运行互不影响。组合使用不同模块的挖掘方法能对数据的认识能够更清晰,挖掘层次更深,功能显得更为强大。3.4.2 运行控制该软件以图形界面化处理为主,所有的处理如运行、设置参数、可视化、处理结果、数据源、删除等操作都是在右键菜单选择进行。不同的图形界面还概要设计17对应着不同右键菜单。3.5 系统出错处理设计3.5.1 出错信息提示任何软件都会有输入不规范,异常或是 bug 的存在。我们无法完全消除bug,但是我们也要对相应的异常等问题做出处理,如果软件足够完善,异常等问题相对较少,程序能够自己处理最好。但是有时候会出现使用者使用不当的情况,这就不是软件的问题了。我们把所有无法正常运行的情况称之为出错,不同的错误应该有不同的解决方式,在程序运行出现错误的时候有两种提示信息,一种是 java 自带的文本提示方式,状态栏也有显示软件的工作状态。另外一种是程序

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

当前位置:首页 > 学术论文 > 毕业论文

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


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

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

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