分享
分享赚钱 收藏 举报 版权申诉 / 53

类型基于临床数据的数据挖掘软件开发 ——聚类分析与可视化模块设计.doc

  • 上传人:wo7103235
  • 文档编号:6268204
  • 上传时间:2019-04-03
  • 格式:DOC
  • 页数:53
  • 大小:1.64MB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    基于临床数据的数据挖掘软件开发 ——聚类分析与可视化模块设计.doc
    资源描述:

    1、本 科 毕 业 论 文基于临床数据的数据挖掘软件开发聚类分析与可视化模块设计Development of DM Software Based on the Clinical Data The Design of Clustering and Visualization姓 名:学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指导教师: 年 月摘 要I摘 要随着经济和社会的快速发展、计算机技术的进步日新月异,人们拥有了越来越强大的数据存储技术,在社会的各个领域每时每刻都在产生大量的数据,导致人们淹没在海量数据之中。为了能够在大量数据之中寻找价值,数据挖掘技术应运而生。数据挖掘是一门综合

    2、性学科,涉及了多门学科的概念、理论、方法和技术。从 20 世纪 80 年代诞生以来,数据挖掘的研究和应用都得到了快速的发展,在制造业、服务业以及医学界等行业都可以发现数据挖掘的身影。尽管数据挖掘这门学科已经深入到人们生活的各个方面,但作为一门新兴的技术学科,其理论框架尚未成熟,需要进一步研究,但仍然具备充足的发展潜力。本文主要是针对基于医学数据的数据挖掘软件开发而进行的设计与实现,简单介绍了数据挖掘、聚类分析算法和可视化的相关概念,以此作为技术基础对数据挖掘软件进行了进一步的设计,并利用实现的数据挖掘软件对相关医学数据进行分析,得出相应的结论,旨在能够获得一定的医学价值。关键词:数据挖掘;聚类

    3、;可视化AbstractIIAbstractAlong with the development of economy and the progress of computer technology, people have more powerful technology for data storage, meanwhile large amounts of data are produced in every aspect of society life everyday, causing people drowned in the sea of massive data. In ord

    4、er to find valuable information among great amounts of data, data mining technology emerges. Data mining is a comprehensive discipline involving concepts, theories, methods and techniques of multiply disciplines. Since the 1980s, the research of data mining has achieved great development. In manufac

    5、turing, service industry, medical field and all kinds of other fields, the technology of data mining can be applied. Although the data mining subject has gone deeply into every aspect of life, but as a newly emerged technology subject, the theoretical framework of it is not yet mature, which require

    6、s further study. This subject still requires plenty of potential for development. This paper focuses mainly on the design and implementation of the development for data mining software based on medical data analysis. And it firstly introduces the related concepts of data mining, cluster analysis alg

    7、orithm, and visualization. Then, this paper elaborates the further design of data mining software based on these technologies. And we also use the realized data mining software to analyze medical data, and finally draw corresponding conclusions and obtain certain valuable medical information, which

    8、are also included in this paper.Key words: data mining; clustering; visualization目 录III目 录第一章 绪 论 11.1 研究背景及意义 11.2 论文组织结构 3第二章 相关技术概念介绍 42.1 数据挖掘基础知识 42.1.1 数据挖掘的发展历史42.1.2 数据挖掘的概念52.1.3 数据挖掘的功能52.1.4 数据挖掘的过程62.2 聚类分析技术 82.2.1 聚类概念82.2.2 聚类分析算法82.2.3 K 均值算法.102.2.4 EM 算法.112.3 Weka 数据挖掘软件 .112.4 可视

    9、化开发组件 122.4.1 Java 3D122.4.2 JFreeChart12第三章 软件设计与实现 143.1 软件简介与开发环境 143.1.1 软件简介143.1.2 开发环境143.2 软件设计目标 143.2.1 整体设计目标143.2.2 聚类分析模块设计目标153.2.3 可视化模块设计目标15目 录IV3.3 概要设计 153.3.1 概要设计任务153.3.2 软件总体概要设计153.3.3 聚类模块设计173.3.4 可视化模块设计173.3.5 接口设计183.3.6 运行设计193.3.7 系统出错处理设计203.4 详细设计 203.4.1 详细设计的任务203.

    10、4.2 软件总体详细设计203.4.3 聚类模块设计与实现233.4.4 可视化模块设计与实现30第四章 运行结果 364.1 软件运行结果 364.2 聚类分析运行结果 374.3 可视化运行结果 39第五章 结论与展望 42参考文献 43致 谢 44ContentVContentChapter 1 Preface.11.1 Introduction 11.2 Structure of dissertation 3Chapter 2 System related technologies outline42.1 Basic knowledge of data mining42.1.1 Dev

    11、elopment history of data mining42.1.2 Concept of data mining52.1.3 Function of data mining.52.1.4 Process of data mining.62.2 Clustering analysis technology 82.2.1 Concept of clustering .82.2.2 Clustering algorithm 82.2.3 K-Means algorithm 102.2.4 EM algorithm.112.3 Weka 112.4 Tools of visualization

    12、 development .122.4.1 Java 3D.122.4.2 JFreeChart12Chapter 3 Software design and implementation .143.1 Introduction of software and development environment .143.1.1 Introduction of software.143.1.2 Development environment.143.2 Design objective of software 143.2.1 Design objective of integer 143.2.2

    13、Design objective of clustering module 153.2.3 Design objective of visualization module153.3 Preliminary design .15ContentVI3.3.1 Tasks of preliminary design.153.3.2 Preliminary design of integer.153.3.3 Preliminary design of clustering module .173.3.4 Preliminary design of visualization module 173.3

    14、.5 Design of interfaces .183.3.6 Design of operation193.3.7 Design of error handling 203.4 Detailed design203.4.1 Tasks of detailed design.203.4.2 Detailed design of integer 203.4.3 Detailed design of clustering module 233.4.4 Detailed design of visualization module30Chapter 4 Running results 364.1

    15、Running results of software.364.2 Running results of clustering module.374.3 Running results of visualization module 39Chapter 5 Conclusions and visions.42References .43Acknowledgements.44第一章 绪论1第一章 绪论1.1 研究背景及意义随着计算机处理能力的提高,数据库技术的飞速发展以及人们获取数据的方式越发多样,人们所拥有的数据急剧增加。然而,却缺乏能够对海量数据进行分析处理、发现潜在价值的工具,因此,数据挖

    16、掘技术应运而生。数据挖掘诞生于 20 世纪 80 年代后期,并在这之后有了蓬勃繁荣的发展,渗透到社会的各个方面。在零售业、制造业、通讯业、金融业、医药界等行业都有数据挖掘应用的成功案例。只要某产业拥有具备分析价值和需求的数据库或者数据仓库,都可以凭借数据挖掘技术的应用来发现潜在价值,提高行业竞争力。特别是对于医药行业来说,数据挖掘技术的运用不仅可以提高竞争力和效益,还能为医学的发展提供动力。医学数据信息是以治愈病人为首要目的而搜集的数据,同时也具备十分宝贵的医学研究价值。因其特殊性,医学数据信息具有如下特点 1:1. 多样性:医学信息的形式具有多样性,包括信号(如脑电波等) 、图像(如核磁共振

    17、生成的结果) 、数字(如化验结果) 、文字及语音视频等等。这种多样性有别于其他领域的数据,增加了数据挖掘的难度。2. 不完整性:由于病例的有限性以及对于病人隐私的保护,使得在对医学数据进行数据处理及挖掘时,无法全面地反映某种疾病的信息。此外,医学信息,尤其是文字信息,在表达上具有一定的主观性和模糊性,使得医学数据本身会受到主观影响。因此,客观缺陷以及主观影响决定了医学数据的不完整性。3. 冗余性:医学数据库是一个庞大的数据资源,每天都会有大量相同或部分相同的数据信息存储于其中;由于数据来源及表达形式的多样性,在进行数据挖掘之前,需要对冗余或者不完整的数据进行处理,以满足数据挖掘的要求,从而提高

    18、分析结果的可靠性。4. 隐私性:医学数据信息来源于对病人体征信息以及病症数据的采集。这第一章 绪论2些信息的泄露,会导致患者的日常生活受到不必要的打扰,甚至是被不法分子加以利用来进行违法犯罪。这就要求在对医学信息进行数据挖掘之前,需要采取严格的保密措施防止信息泄露,同时还需要得到患者的许可。目前,数据挖掘在医学领域的运用主要集中在以下四个方面 2:1. 疾病辅助诊断:采用数据挖掘技术,对大量的医疗历史信息进行处理,以期发现具备医学价值的诊断规则,然后依据患者的各项体征与病征(比如性别、年龄、各项检查结果等)作出诊断结论。由于是对大量的历史数据进行挖掘,提高了诊断的客观性和可靠性,所得的诊断结果

    19、也具有一定的普遍性。2. 药物开发:采用数据挖掘建立的药物开发系统,可以准确定位开发目标,有效缩短开发周期,提高效益。3. 遗传学研究:遗传是由基因决定的,而基因包含有大量的 DNA 数据。通过数据挖掘技术的应用,可以从 DNA 数据中寻找到具有统计特异性的序列组 3 4,提高研究的有效性。4. 医院信息系统:包含临床信息系统和管理信息系统两部分。数据挖掘技术主要应用在关注疾病信息(比如发病率、以及患者人数变化等) 、医疗器械及药物使用等领域。本毕业设计属于第一种运用领域,其需求来源于指导教师与中山医院一位医生的合作项目,所使用的数据主要包括搜集到的癌症病人的病理、病历各项数据。该项目的主要目

    20、的在于找出癌症的发病情况与体征因素和其他病理因素之间的联系。但癌症的发病原因需要得到进一步的研究,而与癌症相关的各项病理因素名目繁多,通过一般的统计分析方法难以得到可靠的医学价值,由此提出了对于基于医学数据开发数据挖掘软件的需要。本毕业设计旨在针对合作项目的需要,开发出能够满足基本数据挖掘功能的软件,以帮助项目组从大量的医学信息中更便捷、更准确地发现潜在的医学价值,为癌症的研究提供一定的帮助。本研究课题的意义在于:1. 按照具有针对性的需求,设计开发基于医学数据的数据挖掘软件,以期能够更高效便捷地对大量医学数据进行处理,有效发现有关癌症的各项病征之间的潜在联系,为癌症的研究与治疗提供一定的参考

    21、价值,并能对后续的开发研究工作起到一定的启发作用。第一章 绪论32. 对聚类分析的一般方法进行探讨与比较,特别是对 K 均值算法和 EM(期望最大值)算法进行较为详细的阐述。3. 对于聚类结果以及数据集的可视化方面进行了研究,其中从不同查看角度对数据集进行了可视化展示,具有一定的新意。1.2 论文组织结构本文一共分为五章,本文首先从在数据挖掘软件开发过程中所涉及的技术出发,阐述各项技术的相关概念。随后根据医学项目提出的各种需求,对软件和涉及的模块进行分析与设计。然后使用开发的数据挖掘软件,对提供的医学数据进行数据挖掘分析工作,并依据获得的结果得出相应的结论。本文的主要结构为:在第一章中,主要描

    22、述本文的研究背景和意以及对本文的综述,同时简单介绍数据挖掘技术在医学领域的运用。第二章对本毕业设计中涉及到的相关技术进行概述。第三章中将对数据挖掘软件的开发进行分析与设计,主要包括软件的设计目标、总体设计和详细设计。第四章的主要内容包括对开发完成的数据挖掘软件的运行结果进行分析工作。第五章是在前四章的基础之上,得出相应的结论,并对毕业设计所做的工作进行总结,指出优点与不足。第二章 相关技术概念介绍4第二章 相关技术概念介绍2.1 数据挖掘基础知识2.1.1 数据挖掘的发展历史在 1989 年,国际人工智能联合会议的专题讨论会上首次出现了数据库中的知识发现 5( Knowledge Discov

    23、ery in Database, KDD)这一术语,并在之后几次KDD 专题讨论会上,各个领域的研究人员和应用开发者集中讨论了数据统计、海量数据分析算法、知识表示和知识运用等问题。KDD 领域得到了越来越多的关注,作为 KDD 核心的数据挖掘技术也得到了突飞猛进的发展 6。数据挖掘的发展历史是由人们对数据处理的需求变化驱动的。20 世纪 60 年代,数据库和信息技术的发展使得人们对数据处理方式已经从原始的文件处理演化到复杂而功能完善的数据库系统。从 20 世纪 80 年代到90 年代之间,数据库系统的理论研究及开发水平得到了快速的提高。在这期间,数据库从早期的层次和网状数据库,发展到了以关系型

    24、为主流模型的数据库,并且进一步推动了诸如扩充关系型、面向对象模型、演绎模型等先进数据模型模型的发展。到了 20 世纪 90 年代,以数据清理、数据集成和联机分析处理为基础的数据仓库成熟起来,并广泛应用于商业领域。表 2-1 数据发展历史发展阶段 时间 主要技术 特点数据搜索 20 世纪 60 年代 磁带等 静态历史数据数据访问 20 世纪 80 年代 关系数据库、结构化查询语言 SQL在记录中提供动态历史数据信息数据仓库 20 世纪 90 年代 联机分析处理、多维数据库在各层次提供动态历史数据数据挖掘 20 世纪 90 年代至今 海量算法、多处理系统 提供预测性信息谭建豪等, 数据挖掘技术 ,

    25、2009 年第二章 相关技术概念介绍5新型数据库系统的成熟,计算机技术的快速发展为海量数据的存储提供了基础,而互联网的普及和信息技术在各领域的广泛应用,让人们淹没于数据的海洋之中,造成了数据丰富,信息贫乏的现实 7。这些海量数据之中蕴含着许多重要的信息,为了创造商业价值和增加利润,决策者迫切需要从中抽取出有效的信息。对抽取有效知识的工具的需求,促使了数据挖掘概念的提出及其发展应用。2.1.2 数据挖掘的概念数据挖掘是指从大量数据中提取或“挖掘”知识 8,即从大量的、不完全的、有噪声的、模糊的实际应用数据中,提取隐含在其中的、先前未知且有价值的知识的过程,旨在发现隐藏在大型数据集中的知识模式。数

    26、据挖掘是一门综合性学科,涉及多个领域的理论知识,包括数据库系统、机器学习、统计学、神经网络、模式识别、信息检索、遗传算法、高性能计算、模糊优化和数据可视化等。数据挖掘的数据来源丰富,主要包括各种模式的数据库、数据仓库、互联网、信息存储设备以及满足数据挖掘要求的普通数据集。按照分类对象的不同,数据挖掘可以有多种分类法 9:1. 按照挖掘任务:分类模型发现、数据总结、聚类、关联规则发现、序列模式发现、依赖关系发现、异常和趋势发现等。2. 按照挖掘技术:神经网络、聚类分析、遗传算法、回归分析、趋势分析、偏离和孤立点分析等。3. 按照挖掘对象:关系数据库、面向对象数据库、异构数据库、遗产数据库、文本、

    27、多媒体以及互联网等。4. 按照应用领域:股票市场分析、零售行业、DNA 挖掘、Web 日志分析等。2.1.3 数据挖掘的功能数据挖掘通过对数据进行分析获取有效知识,预测未来的趋势和行为,为决策提供帮助,主要包含有一下几个功能:1. 概念描述第二章 相关技术概念介绍6概念描述是指对大量的关于类的信息进行概括归纳,抽象出有意义的描述(比如这些类对象的相关特征) ,由此来对数据特征进行汇总和比较。2. 关联分析关联分析的目的在于寻找数据子集间的隐藏的关联关系或者数据之间的派生关系,形成关联规则。3. 分类预测分类的目的在于找出描述和识别类或概念的模型或函数, 用于将来的预测;预测的目的是从利用历史数

    28、据中自动推导出对给定数据的推广描述,从而能对未来数据进行预测。4. 聚类分析聚类用于从数据集中寻找相似的数据并分成不同的组。5. 孤立点分析孤立点是指那些离密度较高的大部分点远离的点。孤立点分析主要应用了对欺骗检测和罕见事件的分析,具有重要的现实意义。6. 其他分析包括依赖关系分析、序列分析、趋势和演变分析等其他基于模式或统计的分析2.1.4 数据挖掘的过程数据挖掘的过程一般可以分为:问题陈述、数据收集和预处理、数据挖掘执行、结果解释和模式评估、知识获取 10。第二章 相关技术概念介绍7问 题 陈 述数 据 准 备数 据 挖 掘 执 行32542结 果 解 释 和 模 式 评 估知 识 获 取

    29、图 2-1:数据挖掘过程1. 问题陈述问题陈述包括提出假设,明确挖掘领域和意图等。提出一个有意义的问题陈述,是数据挖掘过程成功完成的前提条件,并始终贯彻于整个过程,这就要求数据挖掘专家和领域专家之间必须保持密切地协作。2. 数据准备数据准备包括数据收集和数据预处理。数据收集的目的是确定数据挖掘任务的目标数据;数据预处理一般包括消除噪声、填充缺失值、消除冗余数据等等,目的在于提高数据挖掘有效性。3. 数据挖掘执行这是数据挖掘过程的主要阶段。在明确数据挖掘任务之后,需要依据问题的定义,决定使用何种算法并予以执行。4. 结果解释和模式评估此阶段是决定数据挖掘过程成功与否的关键。数据挖掘阶段发现出来的

    30、模式,经过评估,如果由于冗余或者与客户期望不符而失去有效性,就需要重新第二章 相关技术概念介绍8开始数据挖掘过程。5. 知识获取获取知识是数据挖掘的最终目的,达到这个阶段说明数据挖掘过程已经成功完成,所得到的有效信息具有辅助决策的价值。2.2 聚类分析技术2.2.1 聚类概念聚类分析是依据样本间关联的量度标准将其自动分成几个簇(数据对象的集合) ,且使同一个簇内的对象相似,而属于不同簇的对象相异的分析方法。簇内相似度以及簇间相异度是判定聚类结果是否优秀的标准:聚类结果的簇内相似程度和簇之间相异的程度越高,说明所得结果的有效性越好;反之,则越差。聚类是无监督的分类,即在预先不知道目标数据到底有多

    31、少类的情况下,把所有的记录组成不同的类 11,并且使得在这些分类情况下,以某种度量为标准的相似性,在用一个簇集之间最小化,而在不同簇集之间最大化。聚类在模式分析的浏览、聚集、决策制定、机器学习、图像分割和文件恢复等领域具有很高的实用价值。聚类方法适合用来探讨数据间的相互关联关系,从而对数据集结构做出初步的评价。聚类分析在具体行业中的使用也十分广泛:商业上,聚类可以帮助市场分析人员区分不同的消费群体,并概括出各个消费群体的消费习惯;医学上,聚类可以帮助科研人员发现疾病与人体体征潜在的关系,也可以用来分类具有相似功能的基因;在保险行业,聚类分析可以帮助保险公司发现具有较高索赔概率的群体,或者发现潜

    32、在的欺诈行为;还可以在互联网上对不同的文档进行分类。2.2.2 聚类分析算法主要的聚类算法可以划分为以下几类 12:1. 划分方法:给定 N 个对象或数据元组的数据库,划分方法构建数据的K 个划分,每个划分表示一簇,K N。同时需要满足两个条件:每个组至少包第二章 相关技术概念介绍9含一个对象;每个对象只属于一个组。采用迭代重定位技术来改进划分的质量。2. 层次方法:该方法创建给定数据对象集的层次分解,直到某种条件满足为止。包括凝聚(自底向上)和分裂(自顶向下)两种方法。3. 基于密度的方法:其主要思想是只要相邻一个区域中的点的密度大于一个阀值,就加入到其中继续聚类。4. 基于网格的方法:这种

    33、方法首先把对象空间转化为具有若干个单元的网格结构,所有操作都在网格结构上进行。5. 基于模型的方法:此方法给每个分组假定一个模型,并寻找与这个模型具备高拟合度的数据对象。常见的几大类聚类分析的代表算法如下表 2-2 所示:表 2-2 聚类方法类别及其代表算法类别 划分方法 层次方法 密度方法 网格方法 模型方法代表算法 K 均值K 中心BIRCHROCKCHAMELEONDBSCANOPTICSSTINGCLIQUEWaveClusterCOBWEBEM聚类是一个富有挑战性的研究领域,它的潜在应用对聚类分析算法提出了一些特殊的要求:1. 可伸缩性:聚类算法需要对小数据集合和大规模数据集同样工作

    34、得很好。2. 处理不同类型属性的能力:要求聚类算法能够对不同类型的数据进行处理。3. 发现任意形状的聚类:聚类特征的未知性决定聚类算法能够发现任意形状的簇。4. 对于决定输入参数的领域知识需求最小:聚类算法要尽可能地减少用户估计参数的最佳取值所需要的领域知识。5. 处理带噪声数据的能力:为了提高聚类的质量,聚类算法需要能够处理第二章 相关技术概念介绍10离群点、缺失或错误的数据。6. 增量聚类和对输入记录的次序不敏感:增量聚类算法和对输入次序不敏感的聚类算法在实际应用中具有重要意义。7. 高维性:数据库或者数据仓库一般具有若干的维度,擅长处理低维的聚类算法也要能够对高维数据进行处理。8. 基于

    35、约束的聚类:实际应用中,经常需要在符合各种约束条件下进行聚类分析,因此开发基于约束的聚类能够更具备灵活性。9. 可解释性和可用性:聚类需要与特定的语义解释和应用相联系。2.2.3 K 均值算法本毕业设计聚类分析模块中,运用了 K 均值(K-Means)算法。K 均值算法是在 1967 年提出的一种被广泛用于科学研究和工业应用的经典聚类算法。K均值算法属于划分方法,它以簇集个数(即为 K)作为输入,把 N 个对象的集合分为 K 个簇,通过使每个聚类中的数据点到其所属簇集中心的平方和最小,来达到所得结果的簇内相似度高而簇间相似度低的目的。K 均值算法描述为:1. 输入:簇的数目 K 以及包含 N

    36、个对象的数据集。2. 输出:K 个簇的集合。3. 处理过程:(1) 从 N 个数据对象中任意选取 K 个对象作为初始的聚类中心。(2) 分别计算每个对象到各个聚类中心的距离,把对象分配到距离最近的聚类中。(3) 所有对象分配完成后,重新计算 K 各聚类的中心。(4) 与前一次计算得到的 K 个聚类中心比较,果然发生变化,则回到 (2),否则继续(5)。(5) 输出聚类结果。通常, 采用平方误差准则作为收敛函数, 该准则试图使生成的结果簇尽可能紧凑和独立,其定义如下:其中, m i 是簇 Ci 的平均值。21|kipiimE第二章 相关技术概念介绍11K 均值算法试图确定最小化平方误差函数的 k

    37、 个划分。当结果簇是紧凑的,并且簇与簇之间明显分离时,它的效果较好。对于处理大数据集,该算法是相对可伸缩的和有效率的。该方法经常终止于局部最优解。K 均值算法的不足在于:只有在簇的平均值被定义的情况下才能使用,可能不适用于某些应用, 例如涉及有分类属性的数据;需要预先指顶簇的数目K,而 K 值的选定需要多次试验才能找到最佳的数值;初始聚类中心的选择对聚类结果也会有所影响;不能处理噪音数据和孤立点;不适合用来发现具有非凸形状的簇 13。2.2.4 EM 算法EM 算法是本毕业设计聚类模块中应用到的聚类算法之一。EM 算法是一种迭代求精算法,可以用来求得参数的估计值并基于混合密度模型对数据进行聚类

    38、,因此它属于基于模型的聚类方法。它可以看作是 K 均值算法的扩展,根据一个代表隶属概率的权重将每个对象指派到簇。EM 算法描述如下:1. 对参数向量进行初始猜测:包括随即选择 k 个簇的中心,以及猜测各个参数。2. 按照下面两个步骤反复进行参数求精:(1) 期望步:用一下概率(该概率服从均值为 Mk、期望为 Ek 的正态分布)将每个对象 Xi 指派到簇 Ck:(2) 最大化步:利用期望步中得到的概率估计重新估计模型参数,使得对给定数据的分布似然最大化。EM 算法的实现比较简单容易。在实践中,它收敛很快,但是可能无法达到全局最优。对于某些特定形式的优化函数,收敛性可以得到保证。第二章 相关技术概

    39、念介绍122.3 Weka 数据挖掘软件本毕业设计是基于 Weka 而进行的数据挖掘软件二次开发。W eka 的 全 名是 怀 卡 托 智 能 分 析 环 境 ( Waikato Environment for Knowledge Analysis) ,是 一 款 免 费 的 , 非 商 业 化 的 , 基 于 JAVA 环 境 下 开 源 的 机 器 学 习 以 及 数 据挖 掘 软 件 。WEKA 作 为 一 个 公 开 的 数 据 挖 掘 工 作 平 台 , 集 合 了 大 量 能 承 担 数 据 挖 掘任 务 的 机 器 学 习 算 法 , 包 括 对 数 据 进 行 预 处 理 ,

    40、分 类 , 回 归 、 聚 类 、 关 联 规则 以 及 在 新 的 交 互 式 界 面 上 的 可 视 化 。 而 开 发 者 则 可 使 用 Java 语 言 , 利 用Weka 的 架 构 上 开 发 出 更 多 的 数 据 挖 掘 算 法 。2.4 可视化开发组件2.4.1 Java 3DJava 3D 是 SUN 公司推出的一个交互式三维图形应用编程接口,是 Java2 SDK 的标准扩展,它可以和普通的 Java2D、Swing、AWT 等良好结合。Java 3D 是一个高层次的、基于简单场景图模型的三维动画开发工具。它的具有以下几个优点 14:1. 具备平台无关性,良好的可移植性

    41、2. 高性能,适应网络传输的要求3. 扩展性好,适用于许多网络应用程序的开发编写 Java 3D 程序的一般步骤为:1. 创建一个 Canvas3D 对象。2. 创建一个 VirtualUniverse 对象。3. 创建一个 Locale 对象,将它与 VirtualUniverse 对象联系起来。4. 构造视野子图。5. 构造内容子图。6. 编译子图。7. 将子图插入到 Locale。第二章 相关技术概念介绍132.4.2 JFreeChart数据挖掘用户要求数据挖掘结果具备可解释性,而不同用户之间的专业水平不一,有时需要将数据挖掘结果进行可视化,直观地展示给用户,方便进行决策。统计图表是最

    42、常用的可视化方式,而 JFreeChart 组件可以满足大部分的绘图要求。JFreeChart 是一种基于 JAVA 语言的图表开发技术,也是开放源代码的一个 JAVA 项目,是为 Application,Applet ,Servlets 以及 JSP 等使用所设计的。它的主要功能是提供种类繁多的图表,包括饼图、柱状图、线图、甘特图、分布图、时序图等等。JFreeChart 具有如下特点 15:1. 支持 JDBC,可以与数据库的数据相互关联。2. 生成的图像美观丰富,且支持 PNG 及 JPEG 格式的图像输出。3. 丰富的 API 和图表类型能够满足各种实际应用的要求。4. 支持基于 We

    43、b 的应用。5. 允许开发人员在此基础上,进行图形化设计工具的二次开发,增加了自主性和灵活性。第三章 软件设计与实现14第三章 软件设计与实现3.1 软件简介与开发环境3.1.1 软件简介本毕业设计所开发的软件项目名为 Eagle-I,与鹰眼 (Eagle Eye)同音,意在本数据挖掘软件能够拥有如同鹰眼一般敏锐的能力,在海量无序的数据之中迅捷地挖掘出有价值的知识,为癌症的研究提供一定的帮助。在毕业设计完成过程中,主要负责聚类分析模块和数据可视化模块的功能实现。3.1.2 开发环境 开发语言:JAVA 开发工具:MyEclipse 6.5 开发系统:Windows XP 操作系统 适用数据文件

    44、格式:*.arff、*.csv、*.xls 项目管理:在 Google Code 上建立项目 Eagle-I,安装 SVN 上传、更新、删除,借此实现对项目的管理。3.2 软件设计目标3.2.1 整体设计目标完成一个针对癌症病理医学的数据分析挖掘软件,包括后台功能的实现和前台管理软件界面的设计。基于 weka 进行二次开发,参考 AlphaMiner 和KNIME 的分析流程及可视化功能,完成算法程序的设计以及实现相应的软件包,并最终保证软件界面友好,运行稳定,功能完善。第三章 软件设计与实现153.2.2 聚类分析模块设计目标此模块主要提供数据的聚类分析功能,采用基于 K 均值算法和 EM

    45、算法的分析方法。在模块中提供参数设置、可视化、分析结果查看等选项,以此保证分析精确度和结果的可比较性。确保模块功能的完整性,操作的灵活度、分析的准确性以及结果的直观度。3.2.3 可视化模块设计目标此模块主要提供数据可视化功能,包含对数据集、聚类分析结果的可视化,通过统计图表的展示,使得对数据及其分析结果更加直观。最终提高通过使用软件获得分析结果的直观程度,方便用户使用。3.3 概要设计3.3.1 概要设计任务概要设计的主要任务是根据需求,分析设计软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。概要设计

    46、是对需求的进一步细化,在此阶段确定软件结构和数据结构能够为之后的详细设计以及编码测试奠定基础。3.3.2 软件总体概要设计本毕业设计开发的数据挖掘软件能够满足数据挖掘的基本功能,包括数据预处理、关联规则分析、分类预测分析、聚类分析以及数据可视化功能等。Eagle-I 的基本组织结构和系统用例分别如图 3-1 和图 3-2 所示:第三章 软件设计与实现16E a g l e - I 数据挖掘软件聚类分析分类预测分析数据预处理关联规则分析数据可视化图 3-1:组织结构图用户E a g l e - I 数 据 挖 掘 软 件进行数据预处理进行关联规则分析进行分类预测进行聚类分析可视化数据图 3-2:

    47、系统用例图第三章 软件设计与实现173.3.3 聚类模块设计为实现聚类分析功能,在此模块中采用以 K 均值和 EM 算法作为主要分析算法,并使用 Java3D 和 JFreeChart 开发组件来实现聚类结果的可视化,其中Java3D 用来支持将聚类结果以三维坐标的形式进行可视化,而通过 JFreeChart强大统计图表功能,对聚类的结果进行统计分析。其主要功能结构如图 3-3 所示:聚类分析模块K 均值算法 聚类结果可视化E M 算法图 3-3:聚类分析模块功能结构图3.3.4 可视化模块设计可视化模块的主要功能是给予用户查看数据情况的多种选择,包括表格、折线图、散点图、柱状图等。模块的主要

    48、结构如图 3-4 所示:可视化模块表格形式 折线图形式 散点图形式 柱状图形式第三章 软件设计与实现18图 3-4:可视化模块功能结构图JFreeChart 丰富的图表种类确保了该模块功能正常实现。JFreeChart 生成图表的一般步骤为:创建数据集、创建指定的图表、创建并返回包含图表的一个容器控件(比如 JPanel) 。3.3.5 接口设计接 口 定 义 的 是 一 组 方 法 或 者 一 个 公 共 接 口 , 它 必 须 通 过 类 来 实 现 。 一个接口只有方法的特征没有方法的实现,具体的行为或者功能需要在不同的类中定义实现,实现相同接口的不同类可以有不同的功能,因此接口的外部使

    49、用者不需要关心具体的内部情况,直接使用接口即可。在此只对聚类模块的接口设计进行说明,而不再赘述软件的其他接口设计。聚类模块的接口设计如表 3-1 和表 3-2 所示:表 3-1:聚类 SimpleKMeans 方法接口(Interface KMeansInterface)方法 说明public String clusterSimpleKMeans(Instances instancesSource)进行 K 均值聚类分析的方法public void setSimpleKMeansAttribute(boolean displayStdDevs,boolean dontReplaceMissingValues,int maxIterations,int numClusters,boolean preserveInstancesOrder,int seed)设置聚类器各个参数的方法public JFrame visualize(Instances instancesSource);可视化聚类结果的方法表 3-2:聚类 EM 方法接口(Interface EMInterface)第三章 软件设计与实现19方法 说明public String clusterEM(Instances i

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:基于临床数据的数据挖掘软件开发 ——聚类分析与可视化模块设计.doc
    链接地址:https://www.docduoduo.com/p-6268204.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开