BS架构的数据挖掘系统_毕业设计论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
本科生毕业设计论文(设计)
题目基于B/S的数据挖掘系统设计与实现
学院信息科学与工程学院
专业班级电子信息工程0903班
完成时间 2013-5-23
目录
中文摘要
英文摘要
第一章概论
1.1 课题研究的意义
1.1.1 研究背景
1.1.2 研究意义
1.1.3 术语解释
1.2 国内外研究情况
1.2.1 B/S模式的研究情况
1.2.2 数据挖掘的研究情况
第二章课题方案研究
2.1 课题要求及规划
2.2 常用开发方式介绍
2.3 Visual Studio 2008和Microsoft SQL Server 2008 R2方案2.
3.1 B/S模式
2.3.2 Microsoft SQL Server 2008 R2
2.3.3 Visual Studio 结合 SQL Server 2008 R2开发模式
第三章系统设计及算法
3.1 系统总体结构
3.2 系统子功能模块
3.2.1 欢迎和算法介绍模块
3.2.2 数据源和算法选择模块
3.2.3 挖掘结果演示模块
3.3 DMX语言和挖掘模型
3.3.1 模型建立
3.3.2 模型训练
3.3.3 模型使用
3.4 数据挖掘算法
3.4.1 Microsoft中的数据挖掘算法
3.4.2 决策树和线性回归算法
第四章调试测试结果
3.1 同数据源不同算法
3.2 不同数据源相同算法
3.3 结果分析
第五章总结及展望
5.1 总结
5.2 展望
参考文献
附录
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:日期:
指导教师签名:日期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:日期:
学位论文原创性声明
本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:日期:年月日
导师签名:日期:年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
教研室(或答辩小组)及教学系意见
摘要
数据挖掘(Data Mining)是在大型数据存储库中,自动地发现有用信息的过程。
它用来探查大型数据库,发现先前未知的有用模式,并且还能预测未来观测结果。
数据挖掘的目的在于如何善用数据,从运营历史的记录奖励,挖掘出深藏其中的宝贵经验。
近年来,随着数据挖掘技术的进步发展,它在商业智能领域发挥了极大的作用。
它成为将企业中现有的数据转化为知识,帮助企业做出明智的业务经营决策的工具。
如何使数据挖掘技术更好地应用于生活生产、交易决策活动中,具有较高的研究价值。
在本文中,从理论和实践上分析了B/S架构下利用技术开发数据挖掘系统的可行性。
展示了该系统对数据源进行挖掘后得到的预测结果,并着重分析了对相同数据源应用不同的挖掘算法及不同的数据源应用相同的挖掘算法得出的不同结果,从而分析算法应用的优劣情况。
并详细介绍了系统的架构方法和调试结果,分析了所利用的、ADO等WEB网络技术和数据挖掘中如何采用DMX语言对挖掘模型的训练,数据挖掘算法比较等。
最后,本文通过上述研究成果,总结了该课题的研究过程并探索了该课题的深入方向。
关键词:数据挖掘商业智能 B/S模式 SSAS
Abstract
Data Mining (Data Mining) is a large data repository, automatically discover useful information. It used to probe a large database, a useful model to discover previously unknown, and can predict future observations. The purpose of data mining is how to make the best use of data from the historical record of the operator reward, digging deep which valuable experience. Recent years, with the progress and development of data mining technology in the field of business intelligence played a significant role. It became the tool into the existing data in the enterprise knowledge to help companies make informed business decisions. How to make data mining techniques used in the production of life, the trading decisions activities, has high research value.
In this article, from the theoretical and practical analysis of the feasibility of the use of the the technology development data mining system B / S structure. Shows the prediction results after the excavation of the system data source, and analyzed the results of different results for different mining algorithms to the same data source applications and different data sources, applications the same mining algorithms to analyze the advantages of the algorithm is applied inferior. And gave details of the system architecture and debug the results of analysis of how to use , ADO WEB network technology and data mining DMX language training of mining models, data mining algorithms compare. Finally, through the research, summed up the subject of the research process and explore the subject in depth direction.
Keywords: data mining, business intelligence B / S mode SSAS
第一章概述
1.1 课题研究的意义
1.1.1 数据挖掘研究背景
1989年8月在美国底特律召开的第11届国际人工智能联合会议的专题讨论会上首次出现KDD(Knowledge Discovery in Databases)这个术语。
KDD,及知识发现,是从数据集中识别出有效的、新颖的、潜在有用的,以及最终可理解的模式的一个过程。
知识发现将信息变为知识,从数据矿山中找到蕴藏的知识金块,将为知识创新和知识经济的发展作出贡献。
为了将数据转化为知识,需要利用数据仓库、联机分析处理(OLAP)工具和数据挖掘(Data Mining)等技术。
数据挖掘是在KDD基础上细化出来的一个概念。
最初,数据挖掘只是指在KDD过程中,利用算法处理数据的一个过程,是KDD中进行只是学习的阶段,是其中的核心技术。
所谓数据挖掘即是指从数据库的大量数据中揭示出隐含的、先前未知的并有潜在价值的信息的非平凡过程。
它经由数据转换、核心算法以及结果表达得以实现。
它涉及到对数据库中的大量数据进行抽取、转换、分析以及模型化处理,从中提取辅助决策的关键性数据。
数据挖掘可以帮助决策者寻找规律,发现被忽略的要素,预测趋势,进行决策,也是对数据内在和本质的高度抽象与概括。
数据挖掘是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但是潜在有用的信息和知识的一种过程。
所以它要求数据源必须是真实的、海量的、含噪声的;发现的只是是用户感兴趣的只是;并且发现的结果是可接受、可理解、可运用的。
在技术中,发现的知识并不要求是放之四海而皆准的通用模型,而仅仅要求它是能够适用于特定的数据源的结果。
数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。
1.1.2 课题研究的意义
从KDD这个概念提出至今,数据挖掘技术在各个领域都有着极大的前景。
在医学上,对于庞大的医疗信息记录,数据挖掘技术可以从中挖掘出有用信息和规律,并将这些规律用于医生的诊断过程、对潜在的高患病率的人群进行排查和预防、以及帮助政府制定医疗政策、社区群体进行医疗防护等方面。
在司法政治领域,数据挖掘技术也可以通过分析固定人群的信息数据,从而预测出人们的行为模式,从而更好的帮助人们做出升学、置业等重要决策,也可以帮助制定更能够惠于民的政治策略。
数据挖掘更常用的领域是在现今的商业活动中,决策者往往需要通过既成数据和以往的经验来做出决策判断。
决策过程可通过商业智能来帮助决策者。
商业智能通常被理解为将企业中现有的数据,如企业业务系统的订单、库存、交易账目、客户和供应商等来自企业所处行业和竞争对手的数据等,转化为知识,帮助企业做出明智的业务经营决策的一种解决方案。
伴随着信息化进程的深入,海量的信息大量积聚,如何能从这些信息中获取有用的知识,并指导人们的日常工作生活,成为了一个至关重要的问题。
可以说,把握了海量数据分析处理的方法,就把握了在未来信息化社会里最为重要的一种科技技术力量。
特别要指出的是,数据挖掘技术从一开始就是面向应用的。
它不仅是面向特定数据库的简单检索查询调用,而且要对这些数据进行微观、中观乃至宏观的统计、分析、综合和推理,以指导实际问题的求解,企图发现事件间的相互关联,甚至利用已有的数据对未来的活动进行预测。
但往往由于这些专业知识领域获取困难,使得决策者无法从中得到正确的结论。
因此商业智能解决方案变得简洁,易于操作已经成为了一个必然的趋势。
1.1.3 术语解释
(1)B/S架构:全称为Browser/Server,即浏览器/服务器结构。
将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。
浏览器通过Web Server 同数据库进行数据交互。
(2)数据挖掘:数据挖掘一般是指从大量的数据中自动搜索隐藏于其中的有着特殊关系性(属于Association rule learning)的信息的过程。
用来探查大型
数据库,发现先前未知的有用模式,并且还能预测未来观测结果。
(3)商业智能:商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定。
商业智能技术提供使企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后分发到企业各处。
(4)SPSS(Statistical Product and Service Solutions):即统计产品与服务解决方案。
是采用数据挖掘技术的统计产品与服务解决方案。
(5)SSAS(SQL Server Analysis Services):即微软SQL服务器分析服务。
是Microsoft SQL Sever中提供的集成商业智能分析方案,包含创建复杂数据挖掘解决方案所需的如下功能和工具。
可以组合使用这些功能和工具,以发现数据中存在的趋势和模式,然后使用这些趋势和模式对业务难题作出明智决策。
(6)SSIS(SQL Server Integration Services ):即微软SQL服务器集成服务。
是用于生成企业级数据集成和数据转换解决方案的平台。
1.2 国内外研究情况
1.2.1 B/S模式研究情况
B/S是Brower/Server的缩写,它是在C/S模式的基础上发展起来的一种网络架构技术,近年来随着Internet技术的兴起,这种方便快捷的技术已经日趋完善,为许多人所采用。
在B/S结构中,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix 或SQL Server等数据库和所需要的处理工具。
用户即可通过Web Server浏览器同数据库进行数据交互。
相比传统的C/S模式,B/S模式具有维护和升级方式简单、成本低的优点。
它可以在任何地方进行操作而不用安装任何专门的软件。
只要有一台能上网的电脑就能使用,无需维护客户端。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成由表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)构成的3层架构(3-tier architecture),从而实现软件高内聚,低耦合的设计准则。
该结构下各层的作用和联系见图一:
图一B/S模式结构图
数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务.
业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。
表示层:主要表示WEB方式,也可以表示成WINFORM方式,WEB方式也可以表现成:aspx,如果逻辑层相当强大和完善,无论表现层如何定义和更改,逻辑层都能完善地提供服务。
B/S结构,利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script 语言(VBScript、JavaScript…)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。
随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。
显然B/S结构应用程序相对于传统的C/S结构应用程序将是巨大的进步。
1.3.2数据挖掘研究情况
数据库中发现知识一词从首次出现于1989年在美国底特律召开的第十一届国际联合人工智能学术会议上,到1995年在加拿大蒙特利尔召开的首届KDD&Data Mining国际学术会议,再到以后每年都要召开一次的KDD&Data Mining国际学术会议,经过十多年的努力,数据挖掘技术的研究已经取得了丰硕的成果,不少软件公司已研制出数据挖掘软件产品,并在北美、欧洲等国家得到应用。
经过了24年的发展,数据挖掘技术已被广泛应用于各个领域。
其中一些典
型应用如加州理工学院喷气推进实验室与天文科学家合作开发的SKICAT系统,能够帮助天文学家发现遥远的类星体,是人工智能技术在天文学和空间科学上的第一批成功应用之一,生物学研究中用数据挖掘技术对DNA进行分析;利用数据挖掘技术识别顾客的购买行为模式,对客户进行了分析;对银行或保险公司经常发生的诈骗行为进行预测;IBM公司开发的AS(Advanced Scout)系统针对NBA的比赛数据,帮助教练优化战术组合等。
与国外相比,国内对数据挖掘的研究稍晚,没有形成整体力量。
1993年国家自然科学基金首次支持数据挖掘领域的研究项目,目前,国内的许多科研单位和高等院校竞相开展数据挖掘和知识发现的基础理论及其应用研究,这些单位包括清华大学、中科院计算技术研究所、空军第三研究所、海军装备论证中心等。
在国内应用数据挖掘的企业还是以通信企业(移动、联通、电信)为首,应用的深度和广度都处于领先地位。
随着电子商务的普及,各大商务网站已经大规模使用数据挖掘技术,并且迅速从中取得商业价值。
例如,国内很多网上商城已经开始使用数据挖掘技术进行客户聚类或者商品关联推广。
展望未来,Gartner的报告已经指出,数据挖掘会成为未来10年内重要的技术之一。
网络化时代使得信息膨胀成为必然,如何准确、高效地从丰富而膨胀的数据中筛选出对经营决策有用的信息已经成为企业和机构迫切需要解决的问题。
未来的数据挖掘技术将侧重在海量数据挖掘、云计算、并行数据挖掘技术、面向数据挖掘的隐私保护技术和数据挖掘集成等方面。
(1)海量数据挖掘:是指应用一定的算法,从海量的数据中发现有用的信息和知识。
(2)云计算:目前云计算的相关应用主要有云物联、云安全、云存储。
云存储是在云计算(cloud computing)概念上延伸和发展出来的新概念,是指通过集
群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
(3)并行数据挖掘:并行数据挖掘技术能够高效率的进行数据挖掘。
处理并行数据挖掘的策略主要涉及三种算法:并行关联规则挖掘算法、并行聚类算法和并行分类算法。
(4)数据挖掘集成:数据挖掘体系框架由三部分组成:数据准备体系、建模与挖掘体系、结果解释与评价体系。
其中最为核心的部分是建模与挖掘体系,它主要是根据挖掘主题和目标,通过挖掘算法和相关技术(如统计学、人工智能、数据库、相关软件技术等),对数据进行分析,挖掘出数据之间内在的联系和潜在的规律。
大体上,数据挖掘应用集成可分为几类:数据挖掘算法的集成、数据挖掘与数据库的集成、数据挖掘与数据仓库的集成、数据挖掘与相关软件技术的集成、数据挖掘与人工智能技术的集成等。
第二章课题方案研究
2.1 课题要求及规划
课题需要设计一个有利于商业决策者分析、使用数据挖掘系统,它是基于B/S模式的,具有数据挖掘功能的商业智能网站。
使用者能够以web浏览的方式对数据进行查看和分析,并且实现数据预测功能,并且界面友好、操作简单。
(1)系统功能性要求
任务需要以.NET技术为支持,做出一个可供使用者以web浏览的方式对数据进行查看和分析,并且实现数据预测功能的B/S架构的系统。
由于数据挖掘要求数据仓库(Data Warehouse)中的数据源具有纯净性,所以需要在数据仓库中得到较为纯净且有代表意义的数据源进行挖掘演示。
系统要求用户能够针对不同的数据源,选用不同的数据挖掘算法,通过对服务器端的数据库进行数据挖掘分析,得出的预测结构通过HTLM返回用户浏览器端。
并比较实际数据源和数据挖掘预测结果,进行算法优劣对比。
(2)系统性能要求。
系统要求运行性能稳定可靠,具有良好的可扩展性和易维护性,一般应用功能页面调用能够在3秒内完成,复杂报表输出功能操作能够在5秒内完成。
当出现操作失败时,程序应该给出详尽的提示信息,不能因此造成程序或系统死机。
数据挖掘预测结果需要达到一定的正确率。
否则就失去了数据挖掘的意义。
错误的预测往往会带来更严重的问题。
在课题的实现过程中,在数据源、数据挖掘算法的选择、DMX语言对于挖掘模型的创建和训练、B/S架构的方法等方面应该重点关注。
首先,数据挖掘的前提是需要有大量的洁净数据集,即数据没有丢失,数据的类型统一且符合标准。
如何得到纯净的数据集,是数据挖掘是否能得以成功的关键点。
为方便国内外数据挖掘研究,一些大学或图书馆提供了许多免费的数据源,但这些数据源是未经整理且杂乱的且不能确保完整度的。
其次,针对不同的数据源,需要选用不同的数据挖掘算法。
如决策树模型适合处理非数值型才数据,聚类分析模型适合在杂乱的数据集中进行分类处理。
当看到数据源时,如何选择合适的数据挖掘算法也是十分重要的。
于是,如何选取挖掘模型也具有一定难度。
并且,数据挖掘分析服务中,需要编写DMX语言进行数据挖掘模型的创建和操作。
由于DMX语言是基于数据定义语言(DDL)、数据操作语言(DML)及函数和运算符等所组成的。
应该重点掌握其语法特点和逻辑思路。
最后,B/S架构需要利用技术进行搭建,如何利用C#脚本语言进行前台搭建,使得系统能方便使用者查询也需要重点考虑。
2.2 常用开发方式介绍
B/S架构的常用开发工具包括B/S一般是由ASP、PHP、JSP和SQL、Oracle、Access数据库技术。
依据不同的脚本语言和分层架构方式不同,以及所需要的功能强度要求不一样,可以选择不同的开发语言和后台数据库。
ASP以VB Script或C#作为脚本开发语言,是在微软平台上常用的动态网页技术。
PHP借用C、Java和Perl语言的语法,是跨平台的动态网页技术。
而JSP 是近年来新出现的技术,结合JAVA Script语言,能够更好的在各平台上开发。
而数据挖掘(Data Mining)软件包市场大概可以分为三类:
(1)一般分析目的用的软件包。
如Microsoft SQL Server、SAS Enrerprise Miner、IBM Intelligence Miner等
(2)针对特定功能或产业而研发的软件。
如KDI(针对零售行业)、Options&Choices(针对保险业)、HNC(针对银行信用卡欺诈或坏账检测)等(3)整合DSS/OLAP/Data Mining的大型分析系统。
2.3 visual studio 2008和Microsoft SQL Server 2008 R2方案2.
3.1 技术下的B/S模式架构
本次设计利用技术完成B/S(浏览器/服务器模式)模式搭建。
在用户终端上安装浏览器软件,在服务器上存放数据并且安装服务应用程序。
用户通过浏览器访问服务器,查看相关信息。
Active Server Pages(ASP)提供服务器端脚本编写环境,用户使用ASP可以创建和进行动态、交互的Web服务器应用程序,可以组合HTML页、脚本命令和ActiveX组件以创建交互的Web页和基于Web的功能强大的应用程序。
ASP页是包括HTML标记、文本和脚本命令的文件。
ASP页可以调用ActiveX 组件来执行任务,例如连接到数据库或进行商务计算等。
通过ASP可以为Web 页添加交互内容或用HTML页构成整个Web应用程序,这些应用程序使用HTLM 页作为客户端的界面。
当浏览器从Web服务器上请求.asp文件时就开始运行ASP脚本,然后Web 服务器调用ASP,ASP全面读取请求的文件,执行所有的脚本命令,并将Web
页传送给浏览器。
图二B/S架构工作原理示意图
由于脚本在服务器上而不是在客户端上运行,传送到浏览器上的Web页在Web服务器上生成,所以不必担心浏览器能否处理脚本,Web服务器已经完成了所有脚本的处理,并将标准的HTML页传送到了浏览器。
由于只有脚本的结构返回到浏览器,所以服务器端脚本不易复制,用户看不到创建链接时正在浏览的页的脚本命令。
ASP脚本语言通常采用VB或C#两种,此次设计中采用C#作为ASP脚本语言。
VS中提供如text文本框、button按钮等基本的控件,通过点击控件可进行编程。
利用VS中的控件,可设计好此系统的界面,并将控件拖入界面的适当位置,双击控件进行网站的脚本动作编程,即可供使用者通过浏览器访问服务器,服务器处理数据后以一个简洁明晰的结果,反馈给使用者。
除了微软公司提供的的WEB技术,微软公司近年来退出的插件,为数据挖掘系统的开发提供了另一种可行且便利的方法。
是一个标准的.NET数据提供者,它主要用来与多维数据源进行通信。
它使用支持XML for Analysis version 1.1标准的数据提供者连接数据源,使用TCP/IP或HTTP流传输和接受SOAP请求。
使用可以获取和操作多维数据,KPI和挖掘模型。
也可以通过两种方式浏览和操纵元数据:OLEDB Schema Rowsets 或对象模型。
在插件中包含有几个常用控件,这将是在本系统中高频使用到的:
AdomdConnection:连接多维数据源和多维数据源的元数据。
例如:可以通过AdomdConnection连接SQL Server 2000 Analysis Services的本地立方。