基于数据挖掘的高校学生行为分析平台的构建
2022-04-25孙永香于群朱红梅
孙永香 于群 朱红梅
(山东农业大学 信息科学与工程学院,山东 泰安 271018)
0 引言
在信息时代,数据就像人类的血液深入到了我们的生产、生活的方方面面。数据挖掘就是在这些海量数据中发现潜在的、有价值的规律和模式,为人们的决策和管理提供支撑依据[1]。近几年,随着各高校校园一卡通的普及和智慧校园建设的不断深入,学校积累了大量的学生数据,涵盖了课业成绩、评奖评优、生活轨迹、校园消费、图书借阅和毕业去向等,为运用大数据技术分析高校学生的学习生活规律提供了数据基础[2-3]。综合利用互联网、大数据和人工智能技术开展对教育教学活动和学生行为数据的收集、分析和应用,为推动学生个性化学习、改革教学方法、优化学生评价机制、健全心理健康辅导、改善后勤服务等学校管理工作提供科学支持,是创新高校教育教学管理工作的主要手段[4]。
1 高校学生行为数据挖掘流程设计
根据高校学生行为数据的特征和要研究的问题要求,设计的数据挖掘流程如图1所示,主要包括学生行为数据采集、数据预处理、行为数据挖掘、模式评估和知识可视化表达5个阶段[5]。
图1 高校学生行为数据挖掘流程图
(1)学生行为数据采集。学生行为包括学习、消费、运动、社交、上网和借阅等,可以通过与之相关的校园一卡通的日志数据、教务管理系统、学工管理系统、办公自动化系统(OA)等获取学生行为数据。
(2)数据预处理。数据预处理包括数据清洗、数据集成、数据转换和数据规约等过程。通过数据预处理将不同来源的原始数据进行加工,去除与研究目标不相关的数据,减少数据冗余,确保数据格式的规范性和一致性,为后续的数据挖掘提供基础保障[6]。
(3)行为数据挖掘。基于学生的学业预警、消费能力预测、情感趋势等研究目标,选用合理的数据挖掘算法,以建构模型的方式对数据进行知识提取,从现有的数据中发现潜在的规律和趋势。数据挖掘的算法有很多,主要有聚类分析、关联规则分析、分类与回归算法等[7-8]。
(4)模式评估。从大量数据中挖掘出来的反映学生行为的知识、模式或规律,并不一定与学生实际情况相一致,需要进行模式评估,去除冗余或无关的模式,从而提取有价值、可理解的数据模式。
(5)知识可视化表达。挖掘出的知识、模式或规律往往是一系列数据的展示,需要借助可视化技术,以直观、清晰的形式展示给用户,方便用户理解。
2 平台设计
2.1 总体架构
基于数据挖掘的高校学生行为分析平台的总体架构由底层到顶层可以分为:数据获取层、数据处理与存储层、数据分析层、数据服务层和数据应用层,如图2所示。
图2 平台架构图
(1)数据获取层。数据获取层依托一卡通系统、教务系统、图书借阅系统和学工系统等校内一系列的管理系统或平台,收集学生的日常学习、生活等实时数据,为后期的数据分析和挖掘提供数据支撑。
(2)数据处理与存储层。根据研究目标,将获取的不同数据源的学生行为数据进行清洗、集成、转换和规约,然后按照约定逻辑将其存储在数据仓库中,方便借助数据算法分析学生行为。同时,建立能够对数据挖掘进行支持的模型库[9]。
(3)数据分析层。数据分析层的功能是根据用户的请求和数据预处理得到的数据结构,选择合适的数据挖掘算法,探寻、分析数据间的内部关系,并构建相应的预测模型。
(4)数据服务层。数据服务层主要为学校各部门、各类用户使用数据挖掘的结果提供接口服务,服务的内容包括可视化表达、预测预警、信息智能推送和各类行为主题库。
(5)数据应用层。学校各部门通过网页和智慧校园APP使用数据服务层提供的各类服务,包括学业预警、心理健康预测、异常行为分析、贫困生筛选、就业精准指导、校园舆情态势感知等,为学校管理的精准化提供科学支撑。
2.2 平台功能设计
高校学生行为数据分析平台是在高校学生行为数据基础上,实现对学生学习、消费、轨迹、社交等行为的分析,推测学生的日常生活规律、学习习惯、消费能力和心理状态等。其主要功能包括功能数据管理、行为分析、预测预警、信息发布、平台管理和用户登录,如图3所示。
图3 平台模块结构图
(1)数据管理。数据管理主要涵盖数据采集、处理、分析和监控四个方面。首先对采集到的原始数据进行加工处理,存储到数据库中,然后对数据进行聚类、关联、回归等分析,挖掘出符合实际的学生行为特征属性,并将结果存入平台数据库中。数据监控是对采集实时数据的接口进行监控,当出现异常情况时,要及时通知管理人员解决。
(2)行为分析。学生行为分析主要对学生的学习、消费、借阅、生活、社交等各类行为进行分析。基于学生的学习成绩、门禁数据、校园轨迹、图书借阅、消费数据等,进行行为偏好、行为属性和行为序列的多维分析,勾画出学生的个人特征、学习现状、生活规律、消费能力、兴趣爱好和交友情况[10]。
(3)预测预警。预测预警是根据平台数据挖掘分析结果,判断学生是否存在行为异常,预测一些潜在的问题,并给出相应预警、警告信息,提醒学校相关人员及时进行干预和处理。比如,根据消费水平推测贫困生,根据学习行为给出挂科预警。在进行预测预警时,根据不同的目标,选择合适的算法模型。例如,采用XGboost回归预测模型进行学业预警,采用K-means算法进行贫困生筛选,采用Apriori算法进行心理预警。
(4)信息发布。信息发布是对平台发布的信息进行管理。根据信息的具体内容设置不同的用户权限,包括学校、学院、教师和学生四类用户权限,信息发布之前均需要审核。
(5)平台管理。平台管理主要包括用户管理、角色管理、日志管理和参数设置。用户管理是对使用平台的校级人员、院级人员、教师和学生的四类用户进行管理。因为学生行为分析平台对接学校统一身份认证平台,因此平台不需要对用户基础信息进行管理,只需要配置每个用户的角色。角色管理为每一个用户设置一个唯一的角色,不同角色对应的数据权限和功能权限是不同的,主要有管理员、学校、学院、教师和学生五类角色。日志管理是记录所有用户的在平台上登录和操作的详情。参数设置是对平台中所用参数进行设置,包括行为分析和预测预警中用到的阈值。
2.3 数据库设计
为实现高校学生行为数据分析平台的功能,平台设计的核心数据表有系统表和业务表两大类。系统表主要有角色表(ROLE)、功能菜单表(MENU)、角色权限表(ROLE_MENU)、系统用户表(USER)、用户角色表(USER_ROLE)、系统部门表(DEPARTMENT)、登录日志表(LOGIN_LOG)、操作日志表(OPERATION_LOG)、字典表(DICTIONARY)、字典类型表(DICTIONARY_TYPE)和参数设置表(CONFIG)等;业务表主要有学生基本信息表(STUDENT_INFOR)、学院信息表(COLLEGE_INFOR)、课程信息表(COURSE_INFOR)、学生成绩表(GRADE_INFOR)、学生学业信息表(STUDIES_INFOR)、学生获奖信息表(AWARD_INFOR)、消费流水表(COST_FLOW)、消费信息表(COST_INFOR)、图书借阅信息表(BOOK_BORROWING)、勤工助学信息表(PART-TIME_WORK)、学生就业表(STUDENT_EMP)、贫困生信息表(STUDENT_POOR)、门禁信息表(ACCESS_CONTROL)、生活轨迹表(STUDENT_TRACK)、学生行为标签信息表(BEHAVIOR_LABEL)、预警信息表(WARNING_INFOR)等。
以预警信息表为例,介绍数据库表结构的设计。预警信息表用于保存每条预警信息涉及的学生学号、预警时间、预警类型(0——学业;1——心理;2——消费;3——贫困;4——失联;5——其他)、预警等级(0——一般;1——紧急;2——特紧急)、预警内容和是否智能推送(0——是;1——否),其表结构如表1所示。
表1 预警信息表
3 平台实现
3.1 开发环境与关键技术
平台基于Web的B/S架构,在Windows环境下开发。开发采用了遵循MVC设计模式的Django框架结构,选择MySQL作为数据库管理系统,开发语言采用了JavaScript和Python,程序编写借助Hbuilder和PyCharm环境。
Django是一个由Python语言写成、开放源代码的Web应用框架,可以为用户提供生动形象的HTML反馈页面,使用它可以快速、便捷地开发高性能、易维护的Web应用程序。
平台开发用到了Python提供的许多经典的扩展库,包括NumPy、Matplotlib和Pyechart等。NumPy是Python的科学计算库,借助它实现了K-Means算法、Apriori算法、ID3算法和XGboost算法等数据挖掘算法;Matplotlib是Python的绘图库,它与NumPy搭配使用实现了数据分析结果的可视化;PyEcharts是Python与Echarts相结合产生的、功能强大的数据可视化工具,它不仅具有丰富的可视化类型、精美的图表设计和良好的交互性,还可轻松集成至Django框架中,嵌入Web页面。
3.2 功能实现
在浏览器中输入平台地址以后,系统会跳转到统一身份认证界面,进行统一身份认证,如图4所示。登录成功,进入平台首页如图5所示。
图4 统一身份认证界面
首页主要是学生行为数据的可视化展示,图5展示的是从校园卡中采集的部分测试数据,经过数据预处理后保留了三个月的学生就餐数据、图书馆自习时长数据和上网时长数据,使用K-Means算法进行了聚类分析。
图5 平台首页界面
左上是就餐地点与就餐次数统计表,它可以辅助后勤管理部门了解各食堂就餐情况,优化饮食服务;右上是学生在图书馆自习累计时长占比展示图,直接反映学生最近一段时间内的学习状态;右下是2021年4月份与2020年4月份上网时间对比图,体现学生娱乐时间的变化;左下是将学生日常行为信息统筹分类,2021同比2020年由K-Means算法程序得到的聚类结果,映射了学生日常表现与学习成绩之间存在的潜在联系。
4 结论
本文采用Django框架研发了基于数据挖掘的高校学生行为分析平台,实现了学生行为数据的采集、处理、分析和预测预警等功能,并借助Python提供的扩展库完成了数据分析结果的可视化。平台挖掘出的学生学习现状、生活规律、消费能力、兴趣爱好和交友情况,为学校教育教学管理的科学化、精准化提供了有力工具。