基于数据挖掘的贫困生认定辅助系统的研究
2015-11-17刘海苑
刘海苑
摘要:由于目前高校贫困生信息缺乏动态的调整,导致贫困生认定缺乏科学、有效数据支撑。该研究通过对一卡通消费记录的分析及挖掘,让贫困生鉴定人员能够根据学生的的学号、姓名等信息查询出该学生具体消费信息以及统计信息,并以此作为贫困生认定的一个重要参考。同时可以挖掘出贫困生的一些共同特征,并以此作为制定贫困生认定标准的参考。
关键词:数据挖掘;贫困生认定;辅助系统
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)24-0005-03
Research on the Support System of Poor Students Identification Based on Data Mining
LIU Hai-yuan
(Guangdong University of Finance & Economics, Guangzhou 510320,China)
Abstract:Currently because of lack of information Poor College Students dynamic adjustment, poor students identified lack scientific data to support effectively. This research on consumer cards by analyzing and mining its records for person who identify poor students are able to check out the students'total and detail consumer records by the student's school number, name and other information, and the result as an important reference for poor students identified . While this research can dig out some poor students common features, and as a reference to develop the poor students qualified standards.
Key words:data mining; poor student qualification; assist system
1 研究背景
近年来高校招生规模越来越大,贫困生的数量也不断上升,高校贫困生问题日益受到政府高度重视和社会普遍关注。目前高校贫困生认定方法仍处在完善的过程中,贫困生认定机制还不够科学、不完善。随着教育信息化建设在高校的不断深入,许多高校已建立起了一系列功能日臻完善的校园一卡通系统。校园一卡通系统能够提供消费缴费、身份识别以及信息管理等功能,其中消费缴费功能较全面地反映持卡人在学校生活期间的总体消费额度和结构情况。由于高校学生的生活消费基本上集中在校园内部,因此可以通过校园卡的消费数据分析来辅助推测、评判学生(家庭)的经济状况。
2 研究内容
基于数据挖掘的贫困生认定辅助系统以校园一卡通食堂消费数据为分析对象,利用数据挖掘知识进行分析,将学生校因卡在食堂的消费水平引入到贫困生评价标准,主要包括以下几个方面的工作:
1)学生基本信息的采集。数据采集需要全面性,如果采集的基础数据信息十分有限,将直接导致不能实现部分挖掘工作。因此需要采集些重要字段的数据,将原本孤立的数据源有机地结合起来,综合探讨。
2)数据选择和转换。校园卡数据库的数据庞大,仅仅一年多的交易数据量就超过300万条,如此庞大的数据需要先进行选择数据,再进行转换,如计算,求平均值等等。在分析研究数据过程当中,将能真实反映学生消费情况的数据建立数据仓库。
3)利用数据挖掘和关联分析OLAP方法,先建立可供数据分析的数据平台环境,然后在此基础上,建立数据仓库、数据模型,利用数据挖掘技术解决学院系部、专业、家庭收入状况等指标的多维分析问题,用图表分析和关联分析的方法对知识进行发现,最终为高校管理决策者对贫困生进行资助提供数据支撑,科学合理改进评价机制。
3 系统设计
3.1 系统架构设计
系统采用数据仓库+数据挖掘+J2EE+ORACLE组成的解决方案。其中数据仓库实现决策主体数据的集成、存储和管理,数据挖掘用以挖掘数据仓库中的知识并加入模型库实现多个广义模型的组合辅助决策。系统的主要框架模型如图1所示。
3.2 系统功能模块
贫困认定辅助系统由系统登录、个人信息、用户管理、消费查询、统计查询、数据挖掘六个模块组成,如图2所示。
4 数据处理
4.1 数据导入
导入的消费流水数据是从2014年1月3日 至 2015年01月3日广州某大学一卡通的消费数据。Oracle数据库的导出命令语句为:exp system/manager@TEST file=d:\ daochu.dmp full=y owner=(ykt_cur) 其中导出的是数据库用户ykt_cur的数据,导出文件格式为“.dmp”,导出文件大小为2.01G。Oracle数据库的导入命令语句为:imp ykt_cur/1234@FANG full=y file=d:\ daochu.dmp ignore=y 导入的文件为“daochu.dmp”,导入后的Oracle数据大概有16G。
4.2 数据整理
由于数据量比较庞大,所以导入的消费流水表按时间段进行分段存储,一共有62张表,导入的数据表还包括一张设备表,一张顾客表,一张部门表。新建统计表,对导入的数据进行处理存储。首先对62张流水表进行循环读取不同的顾客号,把所有不同的顾客号存储到统计表。之后对统计表中的每一个顾客号,在62张流水数据表中进行循环累加消费额,读取每一张表的消费总额的sql语句为:“select sum(amount) from 流水数据表名 where custid=顾客号”,其中“amount”属性字段为流水数据中每一笔交易的发生额,“custid”为顾客号属性字段。把每一个顾客号累加后的数据作为年消费额再更新到统计表中。用同样的方法,计算每一个顾客号的早餐消费总额,读取消费流水表中早餐消费总额的sql语句为:“select sum(amount) from 流水数据表名 where custid=顾客号 and acctime<=090000 and acctime>= 063000”,其中“acctime”是消费时间属性字段,计算的是从早上六点三十分到早上九点这段时间一卡通的消费总额。
计算每一个顾客号的午餐消费总额,读取消费流水表中午餐消费总额的sql语句为:“select sum(amount) from 流水数据表名 where custid=顾客号 and acctime<=130000and acctime>=103000”,其中“acctime”是消费时间属性字段,计算的是从早上十点三十分到下午一点这段时间一卡通的消费总额。
计算每一个顾客号的晚餐消费总额,读取消费流水表中晚餐消费总额的sql语句为:“select sum(amount) from 流水数据表名 where custid=顾客号 and acctime<=190000and acctime>=163000”,其中“acctime”是消费时间属性字段,计算的是从下午四点三十分到晚上七点这段时间一卡通的消费总额。
计算每一个顾客号的在饭堂消费总额,读取消费流水表中饭堂消费总额的sql语句为:“select sum(AMOUNT) as cost from 流水数据表名 where custid =顾客号 and devphyid in (select devphyid from 设备表 where devicename like '%饭%')”,其中“devphyid”是设备号属性字段,devicename为设备名属性字段,对所有设备名包含“饭”字的设备发生的流水消费额进行累加统计,得到每一个顾客一年在饭堂的消费总额。
计算每一个顾客号的消费总天数,读取消费总天数的sql语句为: “select count(distinct accdate) from 流水数据表名where custid =顾客号”,其中accdate是消费日期属性字段,计算的是每一个顾客在一年中的消费总天数。
对每一个统计出来的字段值更新到统计表中,同时把顾客表,部门表的有用信息更新到统计表,做成具有信息完整的统计表。同时新建权限表、用户表,为后期系统设计打好基础。
5 数据挖掘的结果分析
本研究中主要使用Sqlserver 2008工具对数据进行挖掘,并对挖掘出来的对各个结果进行说明及分析,并对学校的贫困认定管理人员提出建设性建议。
5.1 预测月平均消费
以月平均消费为预测值,以年均、性别、学院、早餐消费、午餐消费、晚餐消费、所获奖学金类型作为输入列,用决策树算法对月平均消费进行挖掘,得到决策树如图3所示。可以看出2011级的学生为分界点,月平均消费可以作为两类预测。其原因可能为拿到的消费数据为2014年整一年的数据,在这一年中,2011级的学生的人数比较多,但是大部分都出去其他地方实习或工作,只有一小部分留在学校,发生比较多的消费记录。月均消费的依赖关系网络如下页图4所示,所有的输入列都与预测列有一定的关系。月均消费依赖关系网络的最强链接如下页图5所示。以2011级的学生为分界点,对月均消费的预测值分别为:
①GRADE = '2011'
现有的事例: 1152
缺失的事例: 0
MONTHCOST = 371.652+0.398*(AFTERNOON-305.094)
②GRADE 不等于 '2011'
现有的事例: 11077
缺失的事例: 0
MONTHCOST=303.678-12.371*(SCORE-0.474)+0.119*(NIGHT-494.677)-0.020*(AFTERNOON-562.111)
其中GRADE表示年级,AFTERNOON表示午餐消费,SCORE表示获得奖学金类型,SCORE=0表示没获得奖学金。
5.2 不同性别与不同贫困类型学生月均消费统计
OLAP展示不同性别与不同贫困类型学生月均消费。图底端的pool属性的1、2、3、空白分别表示一星贫困生、二星贫困生、三星贫困生、不是贫困生。可以得到无论是否贫困生,男生月均消费都要比女生月均消费高。如图6所示:
图6 不同性别与不同贫困类型学生月均消费图
6 结束语
本文具体论述了贫困认定辅助系统的主要功能和实现方法,重点讨论了系统设计、数据处理以及数据挖掘结果分析。目前基于该模型的系统处于实验阶段,功能、安全等方面还需要提高和完善,下一步将继续对系统进行调优及功能补充。
参考文献:
[1] 赵炳起. 高校贫困生认定机制——优化与重构[J]. 教育财会研究, 2006, 13(4): 20-26.
[2] 李从松. 中国大学贫困生研究[M]. 武汉: 湖北人民出版社, 2003, 250-251.
[3] 钱能, 赵建春. 河海大学加大帮扶贫困生工作力度[N]. 中国教育报, 2005-03-01: 1-1.
[4] John HuntChris Loftus. Guide to J2EE:Enterprise Java[M]. 周立斌, 译. 北京: 清华大学出版社, 2004, 105-120.
[5] 宋善德, 郭飞. 基于Java的WEB数据库连接池技术的研究J]. 计算机工程与应用, 2002, 60(8): 58-61.
[6] 林杰斌, 刘明德, 陈湘. 数据挖掘与OLAP 理论与实务[M]. 北京: 清华大学出版, 2003, 140-145.
[7] 唐菁, 张前. 基于 Web 的文本挖掘[J]. 计算机工程与应用, 2002, 40(21): 198-201.