资源描述
能对过去的数据迸行查询和遍历,并且能够找出过去数据之间的潜在联系,从而促迸 信息的传递。
1. 5. 2数据挖掘技术的定义与含义
数据挖掘(Data Mining)就是从大量的、不完全的、有噪声的、模糊的、随机的 实际应用数据中,提取隐含在其中的、人们事先不知道的、但又是潜在有用的信息和 知识的过程。
从广义上讲,数据、信息也是知识的表现形式,但是人们更把概念、规那么、模式、 规律和约束等看作知识。人们把数据看作是形成知识的源泉,不断地挖掘。原始数据 可以是结构化的,如关系数据库中的数据;也可以是半结构化的,如文本、图形和图 像数据;甚至是分布在网络上的异构型数据。发现知识的方法可以是数学的,也可以 是非数学的;可以是演绎的,也可以是归纳的。发现的知识可以被用于信息管理,查 询优化,决策支持和过程控制等,还可以用于数据自身的维护。因此,数据挖掘是一 门交叉学科,它把人们对数据的应用从低层次的简单查询,提升到从数据中挖掘知识, 提供决策支持。在这种需求牵引下,汇聚了不同领域的研究者,尤其是数据库技术、 人工智能技术、数理统计、可视化技术、并行计算等方面的学者和工程技术人员,投 身到数据挖掘这一新兴的研究领域,形成新的技术热点。
数据挖掘也是一种新的商业信息处理技术,其主要特点是对商业数据库中的大量 业务数据进行抽取、转换、分析和其他模型化处理,从中提取辅助商业决策的关键性 数据。简而言之,数据挖掘其实是一类深层次的数据分析方法。商业领域产生了大量 的业务数据,这些数据不再是为了分析的目的而提供的,而是由于纯机会的
(Opportunistic)商业运作而产生。分析这些数据也不再是单纯为了研究的需要,更 主要是为商业决策提供真正有价值的信息,进而获得利润。但所有企业面临的一个共 同问题是:企业数据量非常大,而其中真正有价值的信息却很少,因此从大量的数据 中经过深层分析,获得有利于商业运作、提高竞争力的信息,就像从矿石中淘金一样, 数据挖掘也因此而得名。
L6贝叶斯分类算法贝叶斯算法的介绍
贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类 的算法°在许多场合,朴素贝叶斯(Naive Bayes 5 NB)分类算法可以与决策树和神经网 络分类算法相媲美,该算法能运用到大型数据库中,而且方法简单、分类准确率高、 速度快。
由于贝叶斯定理假设一个属性值对给定类的影响独立于其它属性的值,而此假设 在实际情况中经常是不成立的,因此其分类准确率可能会下降。为此,就衍生出许多
降低独立性假设的贝叶斯分类算法‘如TAN(tree augmented Bayes network)算法°L 6. 2贝叶斯定理
贝叶斯定理(Bayes' theorem)是概率论中的一个结论,它跟随机变量的条件概 率以与边缘概率分布有关。在有些关于概率的解说中,贝叶斯定理能够告知我们如何 利用新证据修改已有的看法。
通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A的条件下的概 率是不一样的;然而,这两者是有确定的关系,贝叶斯定理就是这种关系的述。贝叶 斯公式的用途在于通过己知三个概率函数推出第四个。它的容是:在B出现的前提下,A 出现的概率等于A出现的前提下B出现的概率乘以A出现的概率再除以B出现的概率。 通过联系A与B,计算从一个事件产生另一事件的概率,即从结果上溯原。
作为一个普遍的原理,贝叶斯定理对于所有概率的解释是有效的;然而,频率主 义者和贝叶斯主义者对于在应用中,某个随机事件的概率该如何被赋值,有着不同的 看法:频率主义者根据随机事件发生的频率,或者总体样本里面的发生的个数来赋值 概率;贝叶斯主义者那么根据未知的命题来赋值概率。这样的理念导致贝叶斯主义者有 更多的机会使用贝叶斯定理。
贝叶斯定理是关于随机事件A和B的条件概率(或边缘概率)的一那么定理。
P(3| A)P(A)
(1.1)
其中P(A|B)是在B发生的情况下A发生的可能性。
在贝叶斯定理中,每个名词都有约定俗成的名称:
(1)P(/)是/的先验概率或边缘概率。之所以称为“先验”是因为它不考虑任何方方 面的因素。
(2)P(/|8)是6发生后/的条件概率,也由于得自6的取值而被称作/的后验 概率。
(3)P(引力)是A发生后£的条件概率,也由于得自A的取值而被称作6的后验 概率。
(4)P(£)是夕的先验概率或边缘概率5也作标准化常量^normalizing constant)° 按这些术语,Bayes定理可表述为:
后验概率=(相似度米先验概率)/标准化常量。
也就是说,后验概率与先验概率和相似度的乘积成正比。
另外,比例P(外/)/P(8)也有时被称作标准相似度(standardised likelihood) , Bayes定理可表述为:
后验概率二标准相似度米先验概率。
1. 6. 3朴素贝叶斯分类的原理与流程
朴素贝叶斯分类法是一种十分简单的分类算法,朴素贝叶斯分类名字缘由是因为 这种方法的思想很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求 解在此项出现的条件下各个类别出现的概率,哪个概率最大,就认为此待分类项属于 哪个类别。通俗说,就好比这么个道理,你在街上看到一个黑人,我们不能确切说他 是从哪里来的,但是你十有八九猜是非洲人。主要原因是黑人中非洲人的比率最高, 不能否认黑人也可能是美洲人或其他,但是在没有其它可用信息下,我们一定是会选 择条件概率最大的类别,这就是朴素贝叶斯的思想基础。
朴素贝叶斯分类法的正式定义如下:
1、设X =。加}为一个待分类项,而每个a为x的一个特征属性。
2、有类别集合C = {y,券,,…,o
3、计算 P(yi I x),尸(二 | X),..., P(yn | x) o
4、如果 P(/ I x) = max{P(yi | x\P{yi\P(>| x)},那么 x£ /。
现在的关键是计算第3步中各个条件概率,就能得出第4步的最大值。
接下来我们可以这么做:
1、先要找到一个分类的待分类项集合,这个集合称为训练样本集。
2、然后统计得到在各类别下各个特征属性的条件概率估计。即
P(〃i| yi),P(〃2| y),…/),尸3| "),…F(〃相 |P(〃i| yJPQI y?)
o3、如果各个特征属性是条件独立的,那么根据贝叶斯定理有如下推导: P(y[x)二」(喟心)(1.2)
P⑴
因为分母对于所有类别为常数,即我们只要将分子最大化。又因各特征属性为条件 独立的,所以有:
〃?
?(%| y)P(y) = P(ai \ y)P(〃2 | y).•尸(a〃/ y)P(y) = ?(»)口尸3 | y) jT
(1.3)
根据上述分析,朴素贝叶斯分类的流程可以由下列图1T表示:
图1-1朴素贝叶斯分类流程图可以看到,整个朴素贝叶斯分类分为三个阶段:
第一阶段一一准备工作阶段,这个阶段的任务是为朴素贝叶斯分类做必要的准备, 主要工作是根据具体情况确定特征属性,并对每个特征属性进行适当划分,然后由人 工对一局部待分类项进行分类,形成训练样本集合。这一阶段的输入是所有待分类数 据,输出是特征属性和训练样本。这一阶段是整个朴素贝叶斯分类中唯一需要人工完 成的阶段,其质量对整个过程将有重要影响,分类器的质量很大程度上由特征属性、 特征属性划分与训练样本质量决定。
第二阶段一一分类器训练阶段,这个阶段的任务就是生成分类器,主要工作是计 算每个类别在训练样本中的出现频率与每个特征属性划分对每个类别的条件概率,并 将结果记录。其输入是特征属性和训练样本,输出是分类器。这一阶段是机械性阶段, 根据前面讨论的公式可以由程序自动计算完成。
第三阶段一一应用阶段。这个阶段的任务是使用分类器对待分类项进行分类,其 输入是分类器和待分类项,输出是待分类项与类别的映射关系。这一阶段也是机械性 阶段9由程序完成。
1.6.4 估计类别下特征属性划分的条件概率与Laplace校准
我们可以看出计算各个划分的条件概率P(a|y)是朴素贝叶斯分类的关键性步骤, 当特征属性为离散值时,只要很方便的统计训练样本中各个划分在每个类别中出现的 频率即可用来估计P(a|y),下面重点讨论特征属性是连续值的情况。
当特征属性为连续值时,通常假定其值服从高斯分布(也称正态分布)。
即:
(\1一(力-〃)2
g的㈤二否^ Uh。⑷
而 P(ak | yi) = g(ak,小,6)。
因此只要计算出训练样本中各个类别中此特征项划分的各均值和标准差,代入上 述公式即可得到需要的估计值。
另外出现P(a|y)=O时应该怎么处理。当某个类别下某个特征项划分没有出现时, 就会产生这种现象,这种现象会令分类器质量大大降低。为解决这个问题,我们引入 Laplace校准,其思想很简单,就是对没类别下所有划分的计数加1,这样如果训练样 本集数量充分大时,并不会对结果产生影响,并且解决了上述频率为0的尴尬局面, 问题得到解决。
1.6.5 贝叶斯定理应用
贝叶斯定理用于投资决策分析是在相关工程B的资料,而缺乏论证工程A的 直接资料时,通过对B工程的有关状态与发生概率分析推导A工程的状态与发生概率。 如果我们用数学语言描绘,即当事件Bi的概率P(Bi)和事件Bi已发生条件下事 件A的概率P(A | Bi),那么可运用贝叶斯定理计算出在事件A发生条件下事件Bi的概 率 P (Bi | A)。
按贝叶斯定理进行投资决策的基本步骤是:
(1)列出在工程B条件下工程A的发生概率,即将P(A | B)转换为P(B | A); (2)绘制树型图;(3)求各状态结点的期望收益值,并将结果填入树型图;
(4)根据对树型图的分析,进行投资工程决策;
搜索巨人Google和Autonomy,一家出售信息恢复工具的公司,都使用了贝叶斯定 理(Bayesian principles)为数据搜索提供近似的(但是技术上不确切)结果。研究 人员还使用贝叶斯模型来判断病症和疾病之间的相互关系,创立个人机器人,开发能 够根据数据和经验来决定行动的人工智能设备。
1.7小结
本章介绍了本课题选题的的背景、目的和意义。阐述了数据挖掘技术的概念和含 义。本章主要归纳了数据挖掘技术中的贝叶斯分类法,详细描述了朴素贝叶斯分类的 原理与流程以与它的应用。
第2章方案论证
2.1设计原理、方案选择
随着社会开展,科学进步,计算机技术日益提高,以与计算机用户的操作水平的不断 提高,用户对计算机应用系统的要求也越来越高。如何保证设计开发出来的应用系统 能够适应用户的更高要求,是每个程序开发人员必须先要考虑的问题。同时,在设计 过程中也应充分考虑系统的灵活性和可扩充性,使得系统在操作起来更容易上手,并 且有很好的界面,这些都是开发人员应该要考虑的问题。
总的来说,一个好的系统性能应该到达以下几个标准:
(1)先进性:系统先进,可靠,设计合理;(2)实用性:操作简单,功能齐全,各个模块之间有较好的连接接口 ;
(3)可扩充性:易于维护,能够适应新的操作环境;(4)稳定性:成熟,稳定,平安性,兼容性好。
对于我所设计的毕业生就业信息管理系统:
首先应该通过录入往届毕业生的各种信息以与他们在毕业后的就业情况,建立数 据库,利用所建立的数据库,从中随机抽取一局部的数据。接着根据数据的分类分为 两步,第一步:建立一个模型,用来描述预定的数据类集。通过分析由属性描述的数 据库元组(记录)来构造模型。假定每个元组属于一个预定义的类,由一个称作类标 号属性的属性确定。对于分类,数据元组也称作样本,为建立模型而被分析的数据元 组形成训练数据集。第二步:使用模型进行分类。首先评估模型(分类法)的预测准 确率,如果认为模型的准确率可以接受,就可以用它对类标号未知的数据元组进行分 类。
用贝叶斯分类算法分析数据并按要求对其进行分类,该分类法的准确性可用保持 方法进行评估:将给定的数据随机的划分成两个独立的集合:训练集(取随机抽样集 的2/3)和测试集(取随机抽样集的1/3)。如图2-1所示。
用户
图2-1系统方案图
先建立一个数据模型,并测试该模型的可靠性。然后根据这个模型,对毕业生就 业情况进行数据预测,根据这些有用的信息,用户就可以对即将毕业的毕业生的就业 情况有一个预测。从而可知毕业生的就业趋势以与毕业后的就业率是怎么样的。这对 于学校和毕业生个人来讲说都是一个很有价值的信息,同时也给学校招生就业部门的 工作提供参考与建议。对于学校来说,他们可以根据今年毕业生就业情况的预测,来 考虑明年的招生问题,是否可增大招生的名额,来满足社会的各种就业需求。当然也 可以根据这个来对学生的素质教育迸行调整,使学生能够更好地为自己的就业创造更 有利条件,对整个社会来说也是有益的。
目前对高校毕业生的就业状况分析是较为简单的,大多仅仅按学校的就业率和专 业就业率来进行评价,显得片面缺乏科学性。我们根据这一情况,借助计算机对毕业 生就业信息进行挖掘,对如今的教学质量和学生工作质量进行科学的综合分析,寻找 影响毕业生就业困难的原因,以便对我们今后的教学和学生工作提出指导性的建议。
本课题思路清晰,目的明显,并且在设计、编程、使用还是维护上都非常合理。 所以在此选择此方案来实现软件的设计。
2. 2开发工具和开发环境介绍2. 2.1 开发工具 MyEclipse 8. 5
My Eel ipse 企业级工作平台(MyEc 1 i pseEn terpr i se Workbench , 简称 MyEclipse) 是对EclipselDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布以与应用 程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境, 包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS ,Javascript, Spring, SQL, Hibernate °
MyEclipse是一个十分优秀的用于开发Java, J2EE的Eclipse插件集合, MyEclipse的功能非常强大 吱持也十分广泛,尤其是对各种开源产品的支持十分不错。 MyEclipse 目前支持 Java Servlet, AJAX, JSP, JSF,Struts, Spring, Hibernate, E3, JDBC数据库工具等多项功能。可以说MyEclipse是几乎 囊括了目前所有主流开源产品的专属eclipse开发工具。
2. 2.2 MySQL 数据库
MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,目前属于Oracle 公司° Mysql是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的 RDBMS(Relational Database Management System :关系数据库管理系统)应用软件之 一 oMySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是 将所有数据放在一个大仓库,这样就增加了速度并提高了灵活性。MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言。MySQL软件采用了双授权政策(本词条
“授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有本钱低, 尤其是开放源码这一特点,一般中小型的开发都选择MySQL作为数据库。由于其社区 版的性能卓越,搭配PHP和Apache可组成良好的开发环境。
2. 2.3 Tomcat 服务器
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服 务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服 务器,可利用它响应对HTML页面的访问请求。实际上Tomcat局部是Apache服务器 的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独 立的迸程单独运行的。
Tomcat广受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支 持负载平衡与服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任 何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
2. 2.4 Tomcat在MyEclipse的配置和使用
下载Tomcat并且对Tomcat安装包进行解压,翻开MyEclipse,点击菜单栏的Window里面的Preferences,将Tomcat安装到MyEclipse里面,如图2-2 °
图2-2 Tomcat的安装
Apache Tomcat
dministration
翻开浏览器输入localhost:8080/如果出现如图2-3 ,那么表示Tomcat安装成功。
-H G localhost:8080The Apache Soft
If you're seeing this page via a web browser, it means you've set图2-3 Tomcat安装成功
在MyEclipse编译程序,实现对数据库的操作,并且可以在服务器上显示出来, 并且编译程序实现图表的正确显示。
翻开浏览器,输入localhost:8080/web06/list. do 我们可以得到这样的界面,如图2-4 °
毕业生就业信息表2014/05/19毕业生信息表
ID
姓名
学号
性别
合绩 综成
党员
生部 学干
语级 英过
业文 毕论
庭址 家住
就业状 况
操 作
1
觉
1001
男
94.0
党员
班长
英语六 级
优秀
江苏常 州
工作
删除
修改
2
李斯
1002
男
92.0
党 员
学习委 员
英语六 级
良好
江苏苏 州
工作
删除
修改
3
越 丽
1003
女
97.0
党 员
副班长
英语六 级
良好
江苏盐 城
工作
删除
修改
4
赵
1004
男
85.0
团 员
无
英语四 级
良好
江苏徐 州
待业
删除
修改
5
周 静
1005
女
90.0
党 员
团委
英语四 级
良好
江苏常 州
就业
删除
修改
6
张晓
1006
女
89.0
团 员
宣传委 员
英语六 级
优秀
江苏尢 锡
就业
删除
修改
7
李颖
1007
女
89.0
团 员
生活委 员
英语六 级
良好
江苏尢 锡
待业
删除
修改
8
1008
女
88.0
团 员
无
英语六 级
优秀
江苏苏 州
就业
删除
修改
9
詹右
1009
男
94.0
团 员
无
英语四 级
优秀
江苏苏 州
就业
删除
修改
11
朱雷
1010
女
95.0
党 员
无
英语四 级
良好
江办常 州
就业
删除
修改
添加毕北生信息
1
bysj
图2-4毕业生就业信息界面
对于该信息,我们还可以对已有的信息删除、修改操作,对于毕业生信息的修改, 鼠标点击操作栏里面的修改5那么出来如图界面,如图2-5所示。
修改毕业生信息id: 11
姓名: 朱雷学号: 1010
性别:女综合成绩:950
党员:党员学生干部:无
英语过级:英语四级毕业论文:良好
家庭住址:江苏常州就业情况:就业
提交图2-5修改毕业生信息
点击页面左下角的添加毕业生信息按钮,实现毕业生信息的添加,如图2-6 。
添加毕业生信息
避刽
图2-6毕业生信息添加
毕业生就业数据分析系统开发
摘要
高校毕业生的就业问题已经成为全社会都关注的热点问题。这些年来高校招生规 模逐年扩大,不断增加的毕业生数目给高校的就业管理工作造成了很大的压力。在这 种形势下,如果仍然采用传统的毕业生管理方法,不仅仅工作效率低下,而且工作质 量不高,很容易发生错误。
目前对高校毕业生的就业状况分析是较为简单的,大多仅仅按学校的就业率和专 业就业率来进行评价,显得片面缺乏科学性。根据这一情况,借助计算机对毕业生就 业信息进行挖掘,对如今的教学质量和学生工作质量进行科学的综合分析,寻找影响 毕业生就业困难的原因,以便对我们今后的教学和学生工作提出指导性的建议。
本课题针对学生的性别、素质培养、综合成绩、社会实践等方面在学生就业所反 应的情况建立一个数据挖掘分析模型,由此得到对教学质量和学生工作质量评价的科 学的新方法。针对毕业生就业情况建立数据挖掘分析模型是数据挖掘分析方法的一个 新尝试,这将进一步促进数据挖掘理论的开展,并且拓宽了数据挖掘分析方法的应用 领域,同时对教学质量分析和学生工作质量分析提供科学评价的新方法。
关键字:数据挖掘;贝叶斯定理;数据库
2. 3小结
本章主要阐述了论文的设计原理、方案选择,描述了创立一个好的系统的重要性,系统 的功能实现,以与整个系统开发的重要意义。并且对该系统的开发工具以与开发环境等等做 了 一一介绍。
第3章系统分析与设计
3.1需求分析系统功能需求
(1)总功能
经过分析,本系统应该具备如下的功能:
① 系统应该能够连接到数据库,从数据库中导入所需要的毕业生信息数据。
② 系统必须能提供在从数据库中导入数据的时候,能有一个表达随机取数据 的功能。
③ 系统能够对导入的数据迸行统计、归纳、分析后建立数学模型,当最终用 户导入训练集数据后,系统能够统计出用训练集测试出本系统所建立的数学模型在 毕业生预测时所能到达的准确度,并用数值和图形的方式显示出来。
④ 当系统建立好数学模型后,系统能够为用户提供一个单个毕业生信息测试 的功能,就是能够预测改毕业生是否可以毕业,显示结果。
(2)基本功能需求
①系统可以提供数据的录入和删除功能,包括对毕业生的、学号、性别、综合成 绩、党员、学生干部、英语过级、学位获得、家庭住址以与就业情况等数据的录入;
②系统可以对录入的数据迸行统计,归纳,分析,这样当用户输入毕业生信息后, 系统能够自动统计男女生人数,英语过级情况的人数,以与就业和未就业人数等各种 统计信息;
③可以根据录入信息,建立数学模型,对数据进行统计预测,输出统计分析表;
④可以对统计得到的结果迸行打印和保存;
(3)用户界面需求
用户界面是人与计算机之间的媒介。用户通过用户界面来与计算机进行信息交换。 因此,用户界面的质量,直接关系到应用系统的性能能否充分发挥,能否使用户准确、 高效、轻松、愉快地工作。所以软件的友好性、易用性对于软件系统至关重要。作为 一个友好的系统软件,其操作界面必须做到友好美观。在设计开发的过程中要合理安 排和编辑界面,使各窗体与控件相互协调,使得整个程序界面更加友好。
(4)系统性能需求表达
本系统能够为最终用户提供一个简洁的用户界面,可以对用户输入的毕业生信息 迸行统计、预测,得到一个毕业生就业概率,并以图表方式显示出来。
3. L 2系统可行性分析
(1)市场可行性分析
随着我国高等教育的普与,全国大局部高校都根据自身情况进行了扩招,于是造 成如今高校毕业生的就业形势逐渐严峻的状态。很多大学生都愁于找不到工作。当前 对于高校毕业生的就业状况的分析相对简单,大多仅按学校的就业率和专业就业率进 行评价,显得片面、缺乏科学性。根据这一情况,借助计算机对毕业生的就业信息迸 行挖掘,可以对目前的教学质量迸行科学的综合分析,寻找影响毕业生就业的因素, 以便对我们今后的教学和学生工作提出指导性建议。本课题正是在这一背景下提出, 利用数据挖掘任务之一的分类,对过往的毕业生就业信息建立预测模型,同时应用该 模型对即将的毕业生的就业状况进行预测,以便为学校招生就业部门的工作提供参考 与建议。
(2)技术可行性分析
该系统采用MySQL作为后台存储数据库,实现毕业生就业信息的录入、删除、保 存等等功能,主要是因为MySQL对同时访问数据库的用户数量不受限制,保存记录多, 是目前市场上现有产品中运行速度最快的数据库系统,用户权限设置简单、有效。利 用MySQL窗体,用户可以直观地迸行查询、修改、插入、删除等操作。本系统采用Tomcat 服务器,用来运行运行JSP页面和Servlet ° Tomcat运行时占用的系统资源小,扩展 性好,支持负载平衡与服务等开发应用系统常用的功能。至于该系统的统计预测方面, 那么采用数据挖掘技术迸行统计分析。数据挖掘方法是一种强大的新技术,数据挖掘就 是从大型数据库中找出隐藏在里面的预测信息,有着巨大的潜力去从数据仓库中开掘 出重要的信息,数据挖掘工具能够预测未来的开展趋势。总的来说,该系统在技术上 是可行的。
(3)实用可行性分析
本系统主要采用数据挖掘方法,通过对以往毕业生就业数据迸行统计分析,应用 贝叶斯定理建立预测模型,并对未来即将就业的毕业生的就业趋势迸行了预测。通过 这个系统可以预测到他们的就业情况和就业概率。这对于学校和毕业生个人来讲都是 一个很有价值的信息。对于学校来说,他们可以根据今年毕业生就业情况的预测,来 考虑明年的招生问题,考虑是否可以增大招生名额,以适应社会的各种就业需求。同 时也可以据此来对学生的素质教育进行调整,使得毕业生能够更好地为自己的就业创 造更有利条件。使得毕业生的就业率得以提高,对整个社会来说也是有益的。
本软件的使用,将在很大程度上提高学校的工作效率,节省大量的人力、物力资 源,造福于社会。因此,具有较高的使用价值。
3.2总体设计毕业生就业信息表
对于本次的设计课题《毕业生就业数据分析系统开发》,先在MySQL数据库里面创建一个需要的数据库bysj,接着在MyEclipse开发工具里编译程序,实现各项功能, 利用Tomcat服务器运行,最后在网页上输入localhost:8080/web06/list. do 得到 毕业生就业信息表界面,如图3-1所示。
2014/05/19
毕业生就业信息表
图3-1毕业生就业信息表
3. 2.2模块划分
本系统主要划分为四个模块,这些模块分别为:
(1)数据录入(2)数据建模
(3)预测结果(4)统计分析图
模块间的关系图:
毕业生就业数据分析
系统开发
届业数录
往毕生据
届业数录
应毕生据
评估 精度
概率 统计 图
训练 集
测试 集
导出 分类 法
统计分析图
图3-2系统模块关系图
3. 2.3系统数据流
根据本系统的开发设计,可以得到系统数据流图,如图3-3所示。
3-3系统数据流图
3. 2.4系统总功能图
根据本系统的开发设计,可以得到系统功能图,如图3-4所示。
毕业生就业数据分析系统
图3-4系统功能图
连接数据库
导入数据
数据查询
测试数据源
建立数据模型
统计分析
预测大学生
就业情况
3数据库设计
一般在建立数据库模型时,会涉与到几种模型种类:概念模型、逻辑模型、物理 模型。这三个过程,就是实现一个软件系统的三个关键的步骤,是一个从抽象到具体 的一个不断细化完善的分析,设计和开发的过程。本小结通过对这三种模型对数据库 进行详细描述。
3. 3.1概念模型
概念模型是设计者对现实世界的认识结果的表达,是对软件系统的整体概括描述。 概念模型就是在了解了用户的需求,用户的业务领域工作情况以后,经过分析和总结, 提炼出来的用以描述用户业务需求的一些概念的东西。表示概念模型最常用的是“实 体-关系”图。E-R图主要是由实体属性和关系三个要素构成。
本系统通过研究比拟,我们得到的毕业生数据的各个属性为:,学号,性别,综合 成绩,党员,学生干部,英语过级,毕业论文,家庭住址,就业情况。根据这些属性 建立实体E-R图,如图3-5所示。
图3-5毕业生信息实体E-R图
3. 3. 2逻辑模型
逻辑模型就是要将概念模型具体化。逻辑数据模型反映的是系统分析设计人员对 数据存储的观点,是对概念数据模型迸一步的分解和细化。逻辑模型着重用逻辑的过 程或主要的业务来描述对象系统;逻辑模型描述系统要“做什么”,或者说具有哪些 功能。
本系统主要主要是在MySQL数据库中创立一个数据库bysj,在这个数据库中创立 数据库表count,表示毕业生就业信息表,并且在该表格中插入毕业生的相关信息,即 各属性:,学号,性别,综合成绩,党员,学生干部,英语过级,毕业论文,家庭住址, 就业情况。
3. 3. 3物理模型
物理模型就是针对上述逻辑模型所说的容,在具体的物理介质上实现出来。物理 模型是对真实数据库的描述。数据库的物理结构设计大概包括:确定数据的存储方法、 确定数据的存储结构。物理结构设计阶段实现的是数据库系统的模式,它的质量直接 决定了整个系统的性能。
(1)数据库建立过程
根据本系统所涉与到的数据量以与这些数据对数据库的各种功能需求,可以在 MySQL数据库上建立表格,插入数据,显示各属性。
下载安装好MySQL数据库,配置好该数据库,并且设置数据库密码:Cinderella。
翻开MySQL运行窗体,先要求输入配置密码,如图3-6。
C:\Program Files\MySQL\MySQL Server 6.0\bin\mysqI.exe
Enter password: **********
Welcome to the MySQL monitor. Commands end with ; or \g.
Vour MySQL connection id is 4
-alpha-community MySQL Community Seruer <GPL>
Type 9 heIp;9 or 9\hJ for heIp. Type 9\cJ to clear the buffer.
图3-6数据库登录密码
创立数据库 bysj: create database bys j;
显示数据库:show databases ;如图3-7 °
nysql> show databases; +♦i Databasei
++! inf ornat ion_schena !
;bs!
! bysj!
i bysxxbii mysqli
i testi++
S rows in set <0.30 sec>图3-7数据库中所有建立过的数据库名称
使用数据库bysj : use bysj ;
显示表格:show tables ;(注意:创立表格前应先使用该数据库) 创立毕业生信息表格count :
create table count(id int primary key auto_increment,
name varchar(50) NOT NULL,stu_id int NOT NULL,
sex char(2) NOT NULL,grade double NOT NULL,
party char(2) NOT NULL,cadre varchar(30) NOT NULL,
en_rank varchar(lO) NOT NULL, thesis varchar(lOO) NOT NULL, address text NOT NULL, job varchar(50) NOT NULL );
显示表格属性:select米from count; 如图3-8 °! id
ess
! id
ess
name job
! 1 产引、1
! 4 徐 宿力
! 6 无锡
:7 无锡
[ 8 苏
[ 9
苏 :11
常
三^^:_整云业电/露云业・串殷 张工李工赵工赵待周待番詹聚就
stu_id
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
sex
男 男 女 男 女
女 女 女
男 女
grade ' party
.
94 !党员
92 !党员
97 !党员
85 !团员
90 ;党员
89 ;团员
89 !团员
88 !团员
94 ;团员
95 !党员
cadreien__rankithesisiaddr
♦♦♦1
班长;英语六级;优秀;江苏
学习委员;英语六级;良好:江苏 副班长;英语六级;良好;江苏 无;英语四级;良好;江苏
团委;英语四级;良好;江苏
宣传委员;英语六级;优秀;江苏 生活委员;英语六级;良好;江苏 无;英语六级;优秀;江苏
无;英语四级;优秀;江苏
无;英语四级;良好;江苏
图3-8数据库表格容信息
(2)数据库的连接
MyEclipse通过JDBC连接MySQL数据库。
数据库的连接局部代码如下:
publicstatic Connection getConnectionO throws Exception { Connection conn = null;
try {Class. forNa/neC. mysql. jdbc. Drivern);
conn = DriverManager. getConnectionO
n jdbc:mysql://1oca1host:3306/bysj?useUnicode=true&characterEncoding=gbk ,"root", "cinderellan);} catch (Exception e) {
e.printStackTrace();
throw e;
return conn;
该段代码可以正确连接数据库,通过数据库的连接可以对其进行操作。并且从该 段代码中我们可以看出MySQL中建立的数据名称为bysj,数据库的密码为Cinderella °分模块设计
本系统由毕业生数据录入删除与修改、统计分析图、数据的抽样调查分析和预测 毕业生就业情况等等模块。下面对数据录入、数据建模以与数据预测模块进行详细介 绍。
3.4.1 毕业生数据录入、修改的模块设计
对于数据的录入、修改的设计模块,我们主要考虑影响毕业生就业的各种因素, 而对于影响毕业生的就业的各种因素,我们需要对这些数据迸行比拟取舍,留下那些 对毕业生就业率有关键性影响的数据,以此来作为我们数据统计研究的重要资料依据。 我们得到的毕业生数据的各个属性为:,学号,性别,综合成绩,党员,学生干部,英 语过级,毕业论文,家庭住址,就业情况。
建立数据库,将这些属性整理成表格型式,可得表3-1。
表3-1数据库表
列名
数据类型
是否为空
注释
name
varchar(50)
NOT NULL
stu_id
int
NOT NULL
学号
sex
char(2)
NOT NULL
性别
grade
double
NOT NULL
综合成绩
party
char(2)
NOT NULL
党员
cadre
varchar(30)
NOT NULL
学生干部
en_rank
varchar(lO)
NOT NULL
英语四六级
thesis
varchar(lOO)
NOT NULL
毕业论文
address
text
NOT NULL
家庭住址
job
varchar(50)
NOT NULL
就业情况
创立毕业生信息表格count : create table count(
id int primary key auto_increment, name varchar(50) NOT NULL, stu_id int
展开阅读全文