智能化数据挖掘系统的设计与实现

来源:中国科学院新疆物理所 作者: 时间:2002-10-05 01:02

     摘要:本文介绍了一个以病虫害防治为具体对象的智能化数据挖掘系统的设计和实现。本系统引入分布式对象技术、多层架构、Web方式表达,即:构件 + B/S + Java + Internet架构,来设计系统。对数据挖掘的实现进行了有益的尝试。
    
     关键词:数据挖掘、构件、B/S、Java、Internet
    
     The Design and Realization of Intellectualized Data Mining system
    LIANG Jian, LI Xiao, LIU Hong-shuo, HU Bin-hua
    ( The XinJiang Institute of Physics CAS, WuLuMuQi, 830011)
    
     Abstract: This paper introduces the design and realization of the intellectualized DM(Data Mining) system with the actual object of preventing and curing about insect pest. The system introduces the distributed object technology, multi-tier framework, and Web express mode, namely Component +B/S+ Java+ Internet framework, to design the system. So that makes a beneficial attempt on the research of DM.
    
     Key words:DM(Data Mining)、Component、B/S、Java、Internet.
    
     1.引言:
    
     随着数据库技术的迅速发展以及数据库管理系统的广泛应用,人们积累的数据越来越多。激增的数据背后隐藏着许多重要的信息,人们希望能够对其进行更高层次的分析,以便更好地利用这些数据。目前的数据库系统可以高效地实现数据的录入、查询、统计等功能,但无法发现数据中存在的关系和规则,无法根据现有的数据预测未来的发展趋势。缺乏挖掘数据背后隐藏的知识的手段,导致了“数据爆炸但知识贫乏”的现象。数据挖掘技术是人们长期对数据库技术进行研究和开发的结果。起初各种商业数据是存储在计算机的数据库中的,然后发展到可对数据库进行查询和访问,进而发展到对数据库的即时遍历。数据挖掘使数据库技术进入了一个更高级的阶段,它不仅能对过去的数据进行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促进信息的传递。
    
     2.数据挖掘技术概述:
    
     2.1数据挖掘的定义:
    
     数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和知识的过程。
    
     2.2数据挖掘的功能:
    
     (1)自动预测趋势和行为:数据挖掘自动在大型数据库中寻找预测性信息,从而迅速直接由数据本身得出相应结论。
    
     (2)关联分析:数据关联是数据库中存在的一类重要的可被发现的知识。若两个或多个变量的取值之间存在某种规律性,就称为关联。关联可分为简单关联、时序关联、因果关联。关联分析的目的是找出数据库中隐藏的关联网。从而为某些决策提供必要支持。
    
     (3)聚类:数据库中的记录可被化分为一系列有意义的子集,即聚类。聚类增强了人们对客观现实的认识,是概念描述和偏差分析的先决条件。聚类技术主要包括传统的模式识别方法和数学分类学。
    
     (4)概念描述:概念描述就是对某类对象的内涵进行描述,并概括这类对象的有关特征。概念描述分为特征性描述和区别性描述,前者描述某类对象的共同特征,后者描述对象之间的区别。
    
     (5)偏差检测:偏差检测的基本方法是,寻找观测结果与参照值之间有意义的差别。
    
     2.3 数据挖掘常用的技术:
    
     数据挖掘常用的技术有人神经网络;决策树;遗传算法;近邻算法;规则推导等。
    
     2.4数据挖掘常用的工具:
    
     (1)基于神经网络的工具:由于对非线性数据的快速建模能力,神经网络很适合非线性数据和含噪声数据,所以在市场数据库的分析和建模方面应用广泛。
    
     (2)基于关联规则和决策树的工具:大部分数据挖掘工具采用规则发现或决策树分类技术来发现数据模式和规则,其核心是某种归纳算法。
    
     (3)基于模糊逻辑的工具:其发现方法是应用模糊逻辑进行数据查询、排序等。
    
     (4)综合多方法工具:不少数据挖掘工具采用了多种开采方法,这类工具一般规模较大,适于大型数据库或者并行数据库。
    
     2.5数据挖掘的基本过程:
    
     数据挖掘的基本过程包括确定业务对象;数据准备;数据挖掘;结果分析;知识的同化。
    


     3.1 系统的总体结构:
    
     本系统总体框架结构,具体如图3-1所示:客户端只需要一个浏览器如:IE,Netscape;对于近端客户还可以开发定制的GUI实现。Web服务器用了JSP Servlet响应客户的需求,客户端通过TIP/IP协议访问,也可以直接和应用服务器,调取应用服务器上的分布式构件对象实现功能。应用服务器集是本系统的核心部分,挖掘管理器、数据挖掘引擎、数据转换器、数据定义、挖掘向导、模式筛选、数据预处理、挖掘内核、模式表达与解释都采用CORBA标准下的EJB开发的构件对象封装业务逻辑,与数据源访问的接口采用JDBC中间件实现,可以和挖掘库、数据仓库数据集市等系统交互,对于文件系统应该开发专门的接口实现。
    
     3.2 一个实验的实例:
    
    这是一个应用于森林或草场病虫害防治的一个挖掘实例,用于预测某段时间发生虫害的可能性,以及可能发生的其他种类的虫害的可能性。为病虫害防治提供决策支持。
    [page]
     3.2.1 总体设计:
    
     根据每个模块的功能特点对每个模块的功能进行层次上的划分,主要划分成三个层次,表示层、业务逻辑层、数据层。表示层:该层主要完成用户与系统的交互功能以及简单的数据处理。应用逻辑层:该层次主要完成复杂的应用,主要集成服务器端构件,供调用即可完成功能,该层部署数据库交互的中间件,是和数据层次交互的部分。数据层次:DBMS数据库管理系统,这里有数据表、视图等,可以封装存储过程供调用提高执行效率。
    
     3.2.2 表示层设计:
    
     在Web服务器的JSP页面供远端浏览器请求后响应,这个实验例子只需要用户在Input.html里输入如A,B两种虫害的ID,然后Mining.jsp响应,在服务器端调用应用服务器封装的Mining构件来实现挖掘功能,结果返回以HTML格式返还给浏览器,最后客户会知道A虫害发生占总发生的百分比,A虫害发生后会以多大的可能发生B虫害,
    
     首先是Input.html,
    
    挖掘应用
    
    。。。。。。
    
    
    
    

输入害虫ID,系统将生成相应的挖掘信息


    
    

    
    。。。。。。
    
    

输入与想测定的虫害种类的ID,和可能与之相关的另一种虫害的ID


    
    
    
    。。。。。。
    
     写好的EJB在编译之后,首先要启动JSP/Serverlet,并且配置好EJB。通常放在Web服务器安装目录下的ejb_jar子目录下面,*.jar文件形式存在,以后每次启动之后,就把这个目录下所有的jar文件中的EJB都装载好,并把EJB的ID注册到名字空间中。以后就可以直接通过JNDI名字获得EJB的接口了。假设本例子的环境是tomcat3.1+IAS4.1,也已经启动了IAS,并配置好。其JNDI名字为“Mining”。要从JSP中调用EJB,需要先把javax。naming。* 、javax。rmi。PortableRemoteObject import进来,另外,还要把EJB组件的home接口,remote接口也import进来:
    
    Mining.jsp:
    
    
    
    
    
    挖掘应用
    
    
    
    
    
    
    
    〈%@ page import = "javax。naming。*"%> //JNDI名字服务模块
    
    <%@ page import = "javax。rmi。PortableRemoteObject"%> //RMI调用模块
    
    <%@ page import = "Minings.*"%> //EJB的home,remote接口
    
    <%
    
    InitialContext ctx = new InitialContext(); //初始化上下文
    
    Object ref = ctx.lookup("Mining"); //通过JNDI名字得到对象的接口
    
    MiningHome Mininghome;
    
    Mininghome=(MiningHome)PortableRemoteObject。narrow(ref,MiningHome。class);
    
     //把对象强制转化为home接口类。这样就得到了EJB对象的Home接口,然
    
    //后再按EJB规范,根据不同的EJB类型,通过不同的方法得到EJB的
    
    //Home接口类。
    
    MiningRemote remote = Mininghome。create();
    
     //通过home接口的create方法得到remote接口。
    
     //接下来就可以通过remote来调用EJB中的方法了。
    
    %>
    
    

您的挖掘服务已经完成,报告内容如下:


    
    


    
    <%remote、IntegrateResult(request。getParameter("one")),request。getParameter("anoterone")))%>
    
    


    
    
    
    
    
     3.2.3 逻辑层设计:
    
     我们要实现的功能是输入A,B两个虫害种类。输出发生了A虫害占总发生总数的百分比,发生了A虫害后以多大的可能同时发生B虫害。核心构件实现就一个即可实现功能,位于应用服务器供Web服务器调用:我们需要在我们的第一个例程中来创建一个Bean实体、一个Home的接口、一个远程接口。以下我们来列出相应的程序说明。首先使用Jbuilder建立一个名为ejbtest的Project(注意要将J2EE的lib加入到工程中来)。然后我们会加入Mining.java(实现远程接口的工作)、MiningHome.java(实现Home接口工作)、MiningEJB.java(EJB实体文件)。
    
    Mining.java文件;
    
    Package ejbtest;
    
    Import javax。EjbObject;
    
    Import java。RemoteException;
    
    
    
    Public interface Mining extends EJBObject{
    
    public str IntegrateResult(str Inputstr1 str Inpurstr2)throws remoteException;
    
    }
    
    
    
    MinigHome.java文件
    
    Package ejbtest;
    
    Import java.io.serializable;
    
    Import java。rmi。RemoteException;
    
    Import javax。ejb。creatException;
    
    Import javax。ejb。EJBHome;
    
    Public interface MiningHome extends EjbHome{
    
    Mining create() throws RemotException,CreatException;
    
    }
    
    
    
    Mi

相关文章

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子