简介:在软件行业中,五年就像是一个地质时代。五年前,Microsoft宣布了自己的Micorsoft.NETFramework计划。从那以后,DataSet(数据集)才开始作为关键对象出现在基于.NET的应用程序中,执行多种数据相关的任务。也是五年前,DataSet被誉为ADO记录集(Recordset)的威力增强版。那么在.NETFramework出现之前,您是如何设计数据访问层(DAL,DataAccessLayer)的呢?我想您一定是以ADO和它全能的Recordset对象——断开的、且可进行XML序列化的——为中心构建数据访问层。
简介:本文作者从实际应用出发,对现存数据挖掘决策树分类方法进行了研究,并应用到系统当中,实现了决策支持模块。关键词数掘挖掘;决策树算法;改进;实现中图分类号TP301.6文献标识码A文章编号1007-9599(2010)04-0000-02DataMiningDecisionTreeImprovement&ImplementationXiaYan,ZhouXiaohong,WangDong(ChangchunTechnologyCollege,Changchun130033,China)AbstractTheauthorstudiedonexistingDataMiningdecisiontreeclassificationmethodbasedonthepracticalapplication,andappliedtothesystem,achievedadecisionsupportmodule.KeywordsDataMining;Decisiontreealgorithm;Improve;Achieve随着数据库技术的不断发展及数据库管理系统的广泛应用,数据库中存储的数据量急剧增大,在大量的数据背后隐藏着许多重要的信息,如果能把这些信息从数据库中抽取出来,将会产生重要的作用。因此,数据挖掘涉及的学科领域逐渐扩大,数据挖掘的方法也在不断地改进和提高。分类在数据挖掘中是一项非常重要的任务,分类算法可以分为决策树分类算法、遗传算法、神经网络方法、K-最近邻分类算法等。这里,以疾病防控与儿童免疫管理系统中决策支持子系统的开发过程为例,对决策树分类算法的改进及在实际中的应用进行阐述。一、数据选取和数据预处理在本系统中,以预防接种中遇到异常反应后记录的“异常反应调查表”中的数据为例进行说明。具体实现过程详细说明首先输入训练集,由于在真实的SQLServer数据库当中,为了降低存储要求和减少存储时间,并非真正存储每个数据项的属性值,而是用存储数字来对应相应的意义,如在数据库的数据表中,“性别”字段中“1”代表“男”、“2”代表“女”,反应到程序页面时再映射回原来的值,为了说理清晰又限于篇幅,这里只将所有数据集中有代表性的十几组数据作为分类模型创建的输入训练集。表1判断是否需要计划外加强免疫的属性表儿童编号月龄出生状态常住地上次注射后反应是否需要计划外加强免疫0405102<=2正常产城市无不良反应否0405495<=2正常产农村无不良反应否0401342>5正常产城市无不良反应是04054352…5正常产城市轻度反应是04065342…5非正常产城市重度反应是04072342…5非正常产农村重度反应否0401544>5非正常产农村重度反应是0408519<=2正常产城市轻度反应否0404566<=2非正常产城市重度反应是04035472…5非正常产城市轻度反应是0401534<=2非正常产农村轻度反应是0405856>5正常产农村轻度反应是0409533>5非正常产城市无不良反应是04053442…5正常产农村轻度反应否二、生成决策树对训练集的每一个属性,计算其信息增益。以“月龄”属性为例,每个结点中的正反例的个数分别为[2,3]、3,2、4,0,分别计算如下info2,3==0.971;info3,2==0.971;info4,0=0;计算信息熵E(月龄)==0.693;计算该属性的信息增益量,选取信息增益最大的属性为节点,按该属性的值划分数据集合Gain(月龄)=Info(9,5)-E(月龄)=0.940-0.693=0.247;同理,对“注射反应”属性、“出生状态”属性、“常住地”属性都可计算每个结点的正反例的个数(由于篇幅有限,不作计算)。通过对各属性信息增益的计算结果,选择“月龄”属性作为根节点,然后划分“月龄<=2”的所有可能性。计算当“月龄<=2”时,“注射反应”、“出生状态”、“常住地”的信息增益值Gain(注射反应)=Info(2,3)-E(注射反应)=0.971-0.4=0.571;Gain(出生状态)=Info(2,3)-E(出生状态)=0.971-0=0.971;Gain(常住地)=Info(2,3)-E(常住地)=0.972-0.951=0.020;同理考虑“月龄>5”的情况,由于“月龄>5”时,各个节点都是纯节点,所以不再划分。三、产生决策规则遍历决策树,输出叶结点类属性值,用IF—THEN形式表达为IF(月龄2…5AND注射反应=无)THEN(类别=是)IF(月龄2…5AND注射反应=轻)THEN(类别=是)IF(月龄2…5AND注射反应=重AND出生状态=正常产)THEN(类别=是)IF(月龄2…5AND注射反应=重AND出生状态=非正常产AND常住地=城市)THEN(类别=否)IF(月龄2…5AND注射反应=重AND出生状态=非正常产AND常住地=农村)THEN(类别=是)……依此类推,共可产生十三条规则。四、决策支持子系统的分析用上述基于决策树的分类算法所得到的模型生成的规则来预测测试集中的未知数据属于哪一类,并通过该模型的测试结果与实际情况相吻合的准确率来判断该决策树是否有效。首先,用整个数据集中2/3的数据作为训练集按照基于决策树的分类算法来建立模型,生成一棵决策树。然后,用余下的1/3的数据作为测试集,通过创建的模型进行预测,并将预测结果和实际值进行比较。如果准确率达到或超过事先确定的阈值,则可以认定该模型对于数据分类是有效的,能够在实际中应用;反之,则认定该模型的分类效果不好,需要按以上步骤来重新判断,直到分类准确率达到预定的阈值为止。在本系统中,经过测试预测准确率已达到87%,在可以接受的范围内,所以算法是有效、可行的。参考文献1陈文伟,黄金才.数据仓库与数据挖掘.人民邮电出版社,20042王万森.人工智能原理及应用.电子工业出版社,20003范明,孟小峰.数据挖掘——概念与技术.机械工业出版社,2001作者简介夏琰(1980-),女,吉林长春人。长春职业技术学院信息技术分院,教师,讲师,硕士,研究方向为计算机应用。
简介:在大伙房水库监测预警平台的开发过程中,为了节约开发时间并优化程序结构、提高运行效率,综合利用C#这种现代语言高效开发的特点和FORTRAN这种古老计算机语言描述工程算法准确、严谨的优势。本文讨论了FORTRAN和C#混合编程的特点,研究了C#与FORTRAN混合编程的实现方法。关键词FORTRAN;混合编程;工程计算;DLL中图分类号TP314文献标识码A文章编号1007-9599(2010)04-0000-01ImplementationofFORTRAN&C#MixingProgrammingagainstLargekitchenWarningPlatformDevelopmentShangTao,FuJinxiang,MaXingyuan,TangYulan(ShenyangArchitectureUniversity,Shenyang110168,China)AbstractDuringthedevelopmentoflargekitchenResMonitoringandWarningPlatform,inordertosavedevelopmenttimeandimproveoperationefficiency,usingC#LanguagewhichisthemoderncomputerlanguagealsohasthecharacteristicsofefficientdevelopmentandFORTRANLanguagewhichcanrigorousandaccuratedescriptionofengineeringalgorithmtogetherisnecessary.ThispaperhasdiscussedthecharacteristicsofmixingprogrammingwithC#andFORTRANlanguage.KeywordsFORTRAN;Mixingprogramming;Engineeringcalculation;DLL一、FORTRAN与C#语言的发展及优势以大伙房水库监测预警平台的开发为例。平台需要采用大量先进的计算机编程技术,应用大规模数据库,提供可靠的安全保障,优秀的网络访问能力。这就需要构建平台的编程语言能完整简洁地支持当今最新的编程技术。C#语言就是这样一种语言,作为微软首推的编程语言,C#几乎支持所有最新的编程技术提供了极高的开发效率5。但是该平台又有着显著的工程计算软件的特点,需要严谨的科学计算语言对算法进行描述,同时有许多经过多年工程实践积累的工程计算代码可以被重用。FORTRAN语言最早被应用在工程开发之中,同时在FORTRAN语言50多年的发展中,积累了大量的优秀正确的代码。所以研究C#语言与FORTRAN的混合编程在该项目中的开发中有着重要的意义。(一)FORTRAN语言的发展及优势FORTRAN在数值计算领域有其独有的优势,首先它是最早的高级语言,有大量优秀正确可靠的源代码可以使用,如果能充分利用FORTRAN源代码可以大量节约工程软件设计开发的时间。FORTRAN语言有更为严格的语法,支持直接对数组和复数进行计算,非常适合严谨的科学计算领域1-3。(二)C#语言的发展及优势微软在推出.NETFramework第一版时推出的新语言C#,派生于C的简洁语法,继承了C++语言的灵活性,并且支持快速开发,随着C#3.0版本的发布,C#作为微软公司建议的开发语言,已经受到越来越多的程序开发人员的青睐5。二、FORTRAN与C#混合编程的方法(一)命名约定的一致由于C#语言是严格区分大小写的,而FORTRAN在默认情况下不区分大小写,如果不解决命名一致问题就会导致链接失败。FORTRAN的缺省方式是使符号名在OBJ文件中变成大写,在C#中调用一个缺省的子例程时用一个纯大写的名称生成调用就可以成功publicstaticexternvoidDLLTEST;(二)参数传递一致因为C#默认是值传递,而FORTRAN默认是引用传递。我们在参数传递中必须保持传递的一致性。简单的方法是使用C#的关键字ref,将C#的参数传递类型定义为引用类型publicstaticexternvoidDLLTEST(refinta,refintb);(三)数组参数传递在传递数组参数时,需要周全地考虑行和列的储存位置对调的问题5。还应注意,C#的数组下标从0开始,而FORTRAN的数组下标默认从1开始。如在C#中定义数组A34,共20个元素;同样的定义A(3,4)在FORTRAN中共12个元素1-3。并且进行数组传递还要注意,只需要传递数组的首地址即可,DLL需要的是数组的起始位置。三、FORTRAN与C#混合编程的实现下面试写水库监测预警平台中一个模型计算程序来说明FORTRAN和C#在混合编程的实际应用。启动VisualStudio,选择IntelVisualFortranLibrary中的Dynamic-linkLibrary,并给项目命名。新建“FortranFile”项,并给文件命名。然后在该文件中书写算法代码。编译完成后,在该项目的debug子目录下找到生成的dll文件。新建VisualC#Windows窗体应用程序。并给项目命名,将生成的dll文件拷贝到新项目的debug目录下。在进行连接之前需要在C#中增加对动态链接库操作的类的引用usingSystem.Windows.Forms;usingSystem.Windows.InteropServices;声明外部函数的部分代码publicpartialclassForm1Form{DllImport("dlltest.dll")publicstaticexternvoidFORDLL(reffloatV,reffloatQIN,reffloatBOD,...);...之后就可以对FORTRAN编写的外部函数进行调用,得到正确的结果。四、结论经过本文的讨论,可以看到运用FORTRAN与C#混合编程可以容易地实现。平台的代码极大的缩短,并且可以方便地重用FORTRAN语言的优秀代码,大大缩短开发时间,并且提高程序的执行效率。参考文献1司岩,周福才.FORTRAN程序设计基础J.大连理工大学出版社,1996,52刘卫国,蔡旭辉.FORTRAN90程序设计教程J.人民邮电大学出版社,2003,23张晓霞,田秀萍.Fortran90程序设计教程J.兵器工业出版社,2005,104Nagel.C等著.黄静译.C#高级编程J.清华大学出版社,2008,105周涛,郭占元,郭向荣.Fortran与C#混合编程在土木工程计算中的应用J.中南大学,2009,3
简介:
简介:在现代民主的政治范畴中,群众参与公共决策的制定已经成为群众的一项基本权力,同时也是实现政治民主,决策科学的重要体现。随着网络信息的不断发展信息通信技术正在电子政务迅速发展的前提下不断对自身的发展进行改革,传统的电子政务参与方式已经不能满足人民日益增长的需求。信息现代化与传统的公共决策方式进行比较,使群众在参与公共决策上打破了原有条件在时间以及空间等方面的束缚,大大提升了群众参与的积极性,同时也提升了参与的效果,并且极大的满足了群众参与公共决策的希望。在电子政务环境不断完善下,群众利用电子平台参与到政府的决策中,并且与制定者进行互动交流。充分的表达自身的意见与诉求,逐渐发展成为一种政治现象。分析电子政务环境下群众参与公共决策的方式,对于实现决策民主化,提升公共决策质量,提高政府信誉有着重要的现实意义。
简介:本文首先讨论了数据挖掘技术,给出了一种企业决策系统。并就决策系统的构成、流程和采用的数据挖掘技术进行了探讨。关键词数据挖掘;数据仓库;企业决策系统中图分类号N37文献标识码A文章编号1007-9599(2010)04-0000-01ResearchofDataMiningTechnologyinBusinessDecision-makingSystemShiDongsheng(InnerMongoliaUniversity,Information&EngineeringTechnologyCollege,InnerMongolia,Baotou014010,China)AbstractThispaperdiscussesdataminingtechnology,presentsabusinessdecisionsystem.Decision-makingsystemoncomposition,processanduseofdataminingtechniquesarediscussed.KeywordsDatamining;Datawarehouse;Businessdecision-makingsystem随着计算机管理信息系统的飞速发展和广泛应用,企业生产经营的自动化水平不断提高,大大提高了工作效率。但企业业务系统运行所产生的大量原始数据是企业生产经营活动的真实记录,不能为本企业加以有效的统计、分析及评估,无法将这些数据转换成企业有用的信息、为企业战略决策提供参考和支持。数据挖掘正是在这样的应用需求环境下产生并迅速发展起来的,它的出现为智能地把海量数据转化为有用的信息和知识提供了新的思路和手段,设计开发基于数据挖掘的企业决策系统是合理解决这一问题,提升企业综合竞争力的最佳对策。一、数据挖掘技术数据挖掘,是指从大量的、不完全的、有噪声的、模糊的、随机的数据中,提取隐含在其中的、人们不知道的、但又是潜在有用的信息和知识的过程。它是数据库研究中的一个新领域,融合了数据库、人工智能、机器学习、统计学等多个领域的理论和技术,把人们对数据的应用从低层次的查询,提升到从数据中挖掘知识,提供决策支持的层级。数据挖掘一般由数据准备、挖掘操作、结果表达和解释三个主要阶段组成。在数据准备阶段应集成多个运作数据源中的数据,解决语义模糊性、处理遗漏数据、清洗脏数据。挖掘阶段是一个假设产生、合成、修正和验证传播的过程,也是上述三个阶段的核心。结果表达和解释阶段根据最终用户的决策目的把提取的有用信息正确地表达出来。数据挖掘的方法和技术可大致划分为三类统计分析、知识发现、可视化技术等。统计分析用于检查异常形式的数据,然后利用统计模型和数学模型来解释这些数据,统计分析方法是目前最成熟的数据挖掘工具。而知识发现则着眼于发现大量数据记录中潜在的有用信息或新的知识,属于所谓“发现驱动”的数据挖掘技术途经。知识发现常用的方法有人工神经网络、决策树、遗传算法、模糊计算或模糊推理等。数据质量、可视化数据的能力、极大数据库尺寸、数据挖掘者的技能、数据的粒度都是影响知识发现方法的重要因素。可视化技术则采用直观的图形方式将信息模式、数据的关联或趋势呈现给决策者,决策者可以通过可视化技术交互式地分析数据关系。二、基于数据挖掘的企业决策系统数据挖掘面对的是经初步加工的数据,使得数据挖掘更专注于知识的发现;而数据仓库用于完成数据的收集、集成、存储、管理等工作,两者必须有机结合起来使用。基于数据挖掘的企业决策系统主要由数据库、数据仓库、数据仓库管理模块、知识库、知识发现模块、数据挖掘工具、人机交互模块构成(如下图所示)。系统的输入主要源于经过初步处理的数据库数据以及存储在知识库中的历史知识和经验;数据仓库管理模块用于数据仓库的建立以及数据的筛选操作;知识发现模块控制并管理知识发现过程,它将数据的输入和知识库中的信息用于驱动数据选择过程、知识发现引擎过程和发现的评价过程;人机交互模块通过自然语言处理和语义查询在用户和系统之间提供相互联系的集成界面。数据挖掘工具用于完成实际决策问题所需的各种查询检索工具、多维数据的联机分析分析工具等,以实现决策支持系统的各种要求。数据挖掘主要提供了以下几种模式(一)分类模式根据数据的值从树根开始搜索,沿着数据满足的分支往上走,直到树叶确定类别。(二)回归模式回归模式与分类模式相似,区别在于分类模式的预测值是离散的,而回归模式的预测值是连续的。(三)时间序列模式根据数据随时间变化的趋势预测将来的值。只有充分考虑时间因素,利用现有数据随时间变化的一系列的值,才能更好地预测将来的值。(四)聚类模式把数据划分到不同的组,组之间的差别尽可能大,组内的差别尽可能小,进行聚类前并不知道将要划分成几个组和什么样的组。(五)关联模式利用数据项之间的关联规则。(刘)和概念描述和比较操作把具有共同性的数据做汇总操作,从而得到一个具有一般性的规则描述。在实际应用中,可以根据具体情况采用不同模式组合,达到最优化的数据挖掘方式。在用户使用该系统时,首先需要通过分析决策需求,描述和表示决策的问题,确定数据来源,即可建立数据仓库;其次针对所要发现的任务的所属类别,设计或选择上述有效的数据挖掘算法并加以实现,从平凡的历史数据中提出综合数据,独立存储为库文件,作为更高一层数据挖掘对象;同时测试以评价所发现的知识,对知识进行一致性、效用性处理。最后根据最终用户的要求,建立适用于决策支持的数据仓库的集成界面和应用程序,使用户能在决策支持中运用所发现的知识。对于该系统的执行,每个步骤包含了循环和反复,可以对发现的知识不断求精、深化,并使其易于理解。三、结论总之,数据挖掘技术可以使其应用者由原来通过定期的、固定的报表进行定性的分析而上升到实时的、动态的各种形式的图表进行定量的分析,从而可以敏感地发现市场的微小变化并迅速做出反应,为企业在激烈的市场竞争中立于不败之地提供了强有力的工具。参考文献1范明,孟小峰.anjiawei,etal.数据挖掘概念与技术M.北京机械工业出版社,20072李捷.基于数据仓库和数据挖掘的企业决策支持系统研究J.科技经济市场,2006,73范丽霞,张雪兰.利用数据仓库和数据挖掘实现电信决策支持系统J.计算机与现代化,2005,8