1、 本科毕业论文 (科研训练、毕业设计 ) 题 目: 缺失数据分析系统的设计与实现 姓 名: 学 院:软件学院 系:软件工程 专 业:软件工程 年 级: 学 号: 指导教师: 职称: 年 月 摘要 信息社会数据库和数据仓库的大量应用,使我们获得的数据量飞速增长 ,数据挖掘 就是近年来兴起的一项 数据分析处理技术。但是在 数据处理 过程中,经常 会 遇到 含缺失项 的 数据,这 使得 常常无法直接 对其 进行数据挖掘 ; 传统的处理方法是人工填充或 直接删除含缺失项。随着数据挖掘对数据质量要求的提高 , 许多 可以自动填充 缺失数据的分析处理算法应运 而生 。 本文针对缺失数据的处理展开,首先介绍
2、缺失数据处理的研究背景、现状和现有的方法;其次开发了 MissingImputor 系统 ,该系统以 NetBean Beta6.0作为开发环境, 实现了缺失数据的分析 、 填补 ,并成功地建立评价模型;其 主要功能包括 自动对含缺失项数据进行填补, 评价不同算法执行的正确度,并为具体数据属性的算法选择提供依据 。论文还将将详细介绍系统实现的算法原理 ,并 对此系统的框架和开发流程做出介绍 、以及系 统的 结果展示 等内容 。 该 Missing-Imputor 系统对缺失数据的分析处理能起到辅助分析和指导作用, 还可以作为一个功能模块,嵌入到其他类型的数据挖掘系统中,作为 其他系统 的一部分
3、使用。 关键词 : 缺失数据 ; 插补法 ;数据挖掘 Design and Implementation of Missing Data Analysis System Abstract Nowadays, technologies of the information age, like Database or Data Warehouse, have brought us great amount of data. Data Mining is considered as a novel method to retrieve useful information from those da
4、ta sets. In order to save the inconvenience and the loss that missing data have caused in the practical use of data mining, some missing data analysis algorithms have been invented in the recent research and study. This thesis is concerned with missing data analysis and imputation. First, it introdu
5、ces the main principles and the current researches of missing data theories. Second, it describes a missing data analysis application, Missing-Imputor, which runs on the NetBean Beta6.0 and implements five classic algorithms to impute the missing values of specific data tables. Missing-Imputor syste
6、m could provide a complete dataset instead of the original incomplete dataset for the following data mining procedures and evaluates the efficiency of different algorithms. This Missing-Imputor system could offer some guidelines on the selections of applying different algorithms into the practical i
7、ndustrial use. And it could also be used as a solo function module embedded in other software applications. Keywords: Missing Values; Imputation Algorithms; Data Mining 目录 第一章 绪 论 . 1 1.1 研究背景及意义 . 1 1.2 研究现状与存在问题 . 3 1.3 主要研究内容及特色 . 4 1.4 论文组织结构 . 5 第二章 缺失数据处理技术及其应用 . 6 2.1 数据缺失 . 6 2.2 处理缺失数据的方法 .
8、 10 2.3 MISSING IMPUTO R系统研究的算法 . 14 2.4 小结 . 19 第三章 MISS ING IMPUTOR系统的架构设计 . 20 3.1 体系架构 . 20 3.2 需求分析 . 21 3.3 功能设计 . 22 3.4 各模块详细设计 . 23 3.5 小结 . 25 第四章 MISSING IMPUTOR系统的 实现及展示 . 27 4.1 系统开发流程 . 27 4.2 数据解析 . 28 4.3 填补及评价算法实现 . 31 4.4 界面开发 . 33 4.5 算法评价 . 39 4.6 小结 . 42 第五章 总结与展望 . 43 参考文献 . 44
9、 致 谢 . 45 Contents Chpater 1 Introduction. 1 1.1 Background. 1 1.2 Current Situdation. 3 1.3 Contents and Tasks . 4 1.4 Architecture of Thesis . 5 Chapter 2 Overall Design of Missing-Imputor System. 6 2.1 Data Missing . 6 2.2. Methods of Missing Data Analysis . 10 2.3. Imputation Algorithms of Missi
10、ng-Imputor System . 14 2.4 Summary . 19 Chaper 3 System Architecture of Missing-Imputor System . 20 3.1 System Architecture. 20 3.2 Requirement Analysis . 21 3.3 Functional Architecture. 22 3.4 Design of Modules . 23 3.5 Summary . 26 Chapter 4 Implementation & Exhibition of Missing-Imputor S ystem.
11、27 4.1 Program Flow. 27 4.2 Data Parse . 28 4.3 Implementation of Algorithms . 31 4.4 UI Improvement . 33 4.5 Result Evaluation . 39 4.6 Summary . 42 Chapter 5 Conclusions and Future Work. 43 References . 44 Acknowledgements . 45 第一章 绪论 1 第一章 绪 论 伴随我国信息产业正步入快速稳定发展的阶段,各 行各业也已全面进入电子化信息系统时代,数据挖掘研究也面临良好
12、的发展前景。但由于缺乏有效的数据处理方法和软件,数据挖掘工作仍面临很多困难和挑战。本章将对现有数据挖掘理论和存在问题进行阐述,并对本文研究内容以及本文的结构安排进行总体概述。 1.1 研究背景 及意义 随着计算机技术和信息技术的发展,信息的增长速度呈现指数上升,已远远超出了人们分析它们并从中提取有用信息的能力。数据库和数据仓库的大量应用,使我们获得的数据量飞速增长。目前,无论政府还是企业,都在广泛尝试使用诸如 OLAP(在线分析系统 )、统计方法或者聚类 这些手段,以期从这些数据中提取有效信息 1。虽然数据库系统可以高效地实现数据的录入、查询、简单统计等功能,但却无法发现数据中存在的关系和规则
13、,无法根据现有的数据预测未来的发展趋势,也就是说使用传统分析方法远远不能满足现实的需求。面对海量数据,如何从中发现有价值的信息或知识,成为一项非常艰巨的任务。人们迫切需要一种去粗存精、去伪存真的技术,迫切需要一种能够对数据进行深层次加工的自动化技术。因此,能够从海量的数据中提取知识和信息的数据挖掘技术应运而生 1。 数据挖掘 DM(Data Mining)技术就在这样 的背景下诞生了。它出现于 20 世纪 80 年代后期, 90 年代有了突飞猛进的发展,并在 21 世纪继续繁荣。还有很多和这一术语相近似的术语 ,如从数据库中发现知识 (KDD)、数据分析 ( Data Analysis) 、数
14、据融合 (Data Fusion)以及决策支持 (Decision Support)等。数据挖掘将数据库管理系统和人工智能中机器学习两种技术相结合,用数据库管理系统来存储数据,用机器学习的方法来分析数据,自动发现大量数据中隐含的知识。数据挖掘是一门交叉性学科,涉及到机器学习、模式识别、统计学、智能数据库、知识获取 、数据可视化、高性能计算、专家系统等多个领域,集中探讨关于隐藏在大型数据库中的模式发现技术的可行性、有用性、有效性和可伸缩性缺失数据分析系统的设计与实现 2 问题 1。从数据库中发现出来的知识可以用在信息管理、过程控制、科学研究、决策支持等许多方面。数据挖掘技术是面向应用的,它不仅面
15、向特定数据库的简单检索查询调用 ,而且要对这些数据进行微观、中观乃至宏观的统计、分析、综合和推理 ,以指导实际问题的求解 ,企图发现事件间的相互关联 ,甚至利用已有的数据对未来的活动进行预测 2。 一般来讲,数据挖掘的整个过程由若干步骤组成,其基本过程包括数据准备、 数据挖掘和结果的解释和评估 1。 其过程如下: 1 数据准备 数据准备又可分为三个子步骤:数据选取、数据预处理和数据变换。数据选取的目的是搜索所有与业务对象有关的内部和外部数据信息 , 并从中选择出适用于数据挖掘应用的数据。数据预处理一般可能包括消除噪声、推导计算缺值数据、消除重复记录、完成数据类型转换等。当数据挖掘的对象是数据仓
16、库时,一般来讲,数据预处理己经在生成数据仓库时完成了。数据变换的主要目的是消减数据维数即降维,即从初始特征中找出真正有用的特征以减少数据挖掘时要考虑的特征或变量个数。 2 数据挖掘 阶段 数据挖掘阶段首先要确定挖掘的任务或目的。清晰地定义出业务问题,认清数据挖掘的目的是数据挖掘的重要一步。挖掘的最后结构是不可预测的,但要探索的问题应是有预见的。然后,决定使用什么样的挖掘算法。同样的任务可以用不同的算法来实现,选择实现算法有两个考虑因素:一是不同的数据有不同的特点,因此需要用与之相关的算法来挖掘;二是用户或实际运行系统的要求,有的用户可能希望获取描述型的、容易理解的知识,而有的用户或系统的目的是获取预测准确度尽可能高的预测型知识。 3 结果解释和评价 数据挖掘阶段发现出来的模式,经过用 户或机器的评价,可能存在冗余或无关的模式,这时需要将其剔除;也有可能模式不满足用户要求,这时则需要整个挖掘过程重新选取数据、采用新的数据变换方法、设定新的数据挖掘参数值,甚至采用其它的挖掘算法。因此,数据挖掘的过程一般要经过反复多次,是一个不断反馈的过程。值得注意的是,数据挖掘整个过程中的各个阶段都起着重要作用。