大学生学业预警系统毕业论文
2020-02-19 18:14:58
摘 要
本论文利用高校学生的基本信息和课程成绩数据,运用数据挖掘及机器学习技术,分析影响本科学生学业失败风险的关键因素,并建立学生挂科预测模型。作者运用统计分析、多维分析方法观察学生成绩数据,进行了数据清洗、数据衍生变量生成、数据汇总合并等数据预处理,运用决策树算法、Logistic回归分析和神经网络算法建立了学生挂科预测模型。该模型准确率可达92.6%,查准率为16.9%,查全率达到95.7%。另外,研究结果表明学生在某门课程的学业失败风险,与该学生以往的综合成绩表现,以及该课程的历史挂科率、开课学期存在明显的相关关系。
在学生挂科预测模型的基础上,设计与开发了高校学生学业预警原型系统。该系统对学生各门课程的学业失败风险进行预测,为其学业警示提供预先的参考。该系统从学生、教师、辅导员三个角度,实现了学业挂科风险管理;系统提供的预测挂科信息,能方便不同用户采取更有效的干预措施。系统有助于高校学生成绩分析和教务管理水平的提高。
关键词:成绩分析;学业预警;教务管理;数据挖掘
Abstract
This paper makes use of the basic information and course achievement data of college students, and uses data mining and machine learning techniques to analyze the key factors affecting the risk of academic failure of undergraduates, and establish a predictive model for students. The author used statistical analysis and multidimensional analysis methods to observe student achievement data, performed data preprocessing such as data cleansing, data derived variable generation, and data aggregation and merger, and established a student exam failure prediction model using decision tree algorithm, logistic regression analysis, and neural network algorithm. The accuracy rate of the model is 92.6%, the precision rate is 16.9%, and the recall rate reaches 95.7%. In addition, the results show that students' failure risk in a certain course has a significant relationship with the students' previous comprehensive performance, the historical failure rate and the commencement semester of the course.
Based on the students' exam failure prediction model, the university students' early warning prototype system was designed and developed. The system predicts the risk of academic failure for each student's course and provides a preliminary reference for academic warnings. The system realizes the risk management of academics exam failure from three perspectives: students, teachers, and counselors; the system provides predictive information to facilitate different users to adopt more effective intervention measures. The system is conducive to the analysis of college students' academic performance and the improvement of educational management.
Key Words: Grades Analysis; Academic Warning; Educational Administration; Data Mining
目 录
摘要 3
Abstract 4
1 绪论 3
1.1 目的及意义 3
1.2 研究现状 3
1.3 研究内容与技术方案 4
1.3.1 研究内容 4
1.3.2 技术方案 5
2 数据处理与模型评估 6
2.1 数据处理 6
2.1.1 样本选择 6
2.1.2 数据预处理 6
2.2 模型评估 9
2.2.1 研究模型建立 9
2.2.2 模型评估 11
3 系统设计与实施 17
3.1 系统概要设计 17
3.1.1 系统设计目标 17
3.1.2 用户角色描述 17
3.1.3 系统架构 18
3.1.4 功能结构设计 18
3.1.5 接口设计 18
3.2 系统详细设计 18
3.2.1 系统权限管理 18
3.2.2 学生成绩报告 19
3.2.3 课程成绩预测 20
3.2.4 班级成绩一览 20
3.2.5 教务数据管理 21
4系统测试 23
4.1登录测试: 23
4.2学生界面显示测试: 23
4.3教师界面显示测试 24
4.4辅导员界面显示测试 24
5 总结与展望 25
6 参考文献 26
致 谢 27
1 绪论
1.1 目的及意义
近年来,我国高等教育的发展迅速,教务教学管理部门也面临着一个日益突出的问题,那就是,越来越多的大学生未能在规定时间内按照培养方案的要求完成相应学业,如何对这些学生进行及时、有效的预警?
大多数高校的教育信息系统的功能仍停留在传统的增删改查阶段,只能获得一些数据的表面信息,学术预警系统利用高校学生的基本信息和课程成绩数据,运用数据挖掘及机器学习技术,对数据进行深度挖掘分析,以获取重要的有价值的知识来分析影响本科学生学业失败风险的关键因素[1]。
学生的学科成绩之间存在着某种特殊的内在联系,对这种内在联系进行分析和研究不管是对学生还是学校都有着十分重要的意义。通过了解学科成绩间存在的内在联系,学生可以清楚地认识到一门课程的重要性,并在选课的时候,做到扬长避短,通过更多地选择与自己优势课程成绩正相关的课程来帮助提高成绩[2]。
对于学校来说,分析学科成绩间的内在联系可以为各专业培养计划中的课程设置供重要的参考依据。此外,通过对学生以往成绩的对比分析,可以为每个学生的学业水平做出科学合理的预估,为划分奖学金评定与学业警示的标准提供参考。
对于每个学生而言,能更好地认识到自己学习上的优势和劣势,从而做出针对性的调整;对于学校而言,可以事前针对发现有重修或退学风险的学生,采取更有效的干预措施。
采用数据挖掘技术对高校教务数据进行全方位的分析,可以发现学业成绩与各种因素之间隐含的内在联系,这是传统评价方法无法做到的;可以了解学生各方面的能力,并为学生提供科学的个性化的指导,有助于学校的人才培养。同时,有助于教师优化教学流程和改进教学方式,完善高校教学培养方案,从而进一步提高我国高校的办学水平。
1.2 研究现状
在西方社会,特别是以美国为代表的高等教育机构中,学分制已经运作了100多年,并在教学管理方面不断完善。在美国的大学中,学分制本身也是“问责制”和“警告”的主要手段。学分制是衡量学生发展过程的工具。学生必须完成一定数量的课程和学分才能获得学位。学生将被要求达到一定的认证标准,以获得学位,或要求学生每年获得一定数量的学分。学生必须达到可接受的学习过程标准,否则他们可能会转为“试读”甚至暂停学习。
根据国家的实际情况,日本一般采用高等教育机构的学分制为本科课程。学分制对学生的监督和监督有较大的影响。教师和教学行政部门可以针对不同年级和不同方式实施不同级别的警告,以确保绝大多数。学生培训的质量也为学生提供了一定的自由度。同时,可以实施国家强调的教育内容,如外语,体育,通识教育和必要的专业知识。学年学分制下日本学业预警的缺点主要体现在规章过于精细,管理过于死亡,灵活性不够,学生容易受到抵制和厌倦了学习。
与国外相比,国内对数据挖掘与知识发现的研究与应用开始稍晚,还处于刚起步的阶段,没有形成行业研究领域的整体力量。
目前国内高校普遍建立了教务管理信息系统,但是国内的教务管理系统,大多采用的是功能模块设计,以武汉理工大学为例,教务管理系统由学分制选课系统、成绩查询、评教模块、培养计划查询等模块组成,数据库中包含学生学号、姓名、专业班级、成绩等信息。大部分高校的管理系统在成绩分析方面,只能进行一些简单的统计,例如平均值、最值、及格率、优秀率等,要进行学科成绩之间的内部联系分析只能通过人工计算的方式[4]。
随着数据库技术的发展和国内教育信息化的普及,高校普遍堆集了大量的教务数据。然而,数据库中隐含的丰富知识和宝贵信息尚未获得充分探索及利用。海量数据的生成、堆积与滞后的数据分析方法、工具之间的矛盾,是当前高校学生成绩管理的主要矛盾。针对这一现状,需要有新的技术来自动、智能和快速地分析海量的学业数据,由此引发了一个新的研究方向:数据挖掘(Data Mining)技术研究。
1.3 研究内容与技术方案
1.3.1 研究内容
以武汉理工大学学生成绩为数据样本,参考国外先进技术方案,通过数据挖掘相关的方法和工具,对培训计划中的课程信息和学生的选修课和成绩信息进行深入分析和处理,以挖掘隐藏在数据中的以前未知和有价值的信息——包括课程警告学术预警信息,用作学生的下一阶段学习,以提供计划支持,并为学生的下一阶段学习提供决策支持。
在获得学习教务处的部分学生成绩信息后,通过建模软件对数据进行模型建立,从精度和查全率两个方面,对各模型的质量进行评估,综合运用效果较好的模型作为学业预警系统的核心算法。通过模型,分析所研究的各变量对于学生学业风险程度的影响。在此基础上,使用Web前端技术开发实现高校学生学业预警系统,即实现数据导入和学业风险预测的自动化,并对学业预警的结果进行可视化呈现。
形成技术路线如图1.1所示。
图1.1 技术路线图
1.3.2 技术方案
本文在研究的过程中主要采取了统计分析、决策树方法、Logistic回归方法、神经网络与生命周期法等研究方法。
(1)统计分析:在的基础上,运用数学方式,建立数学模型,通过现存的学生数据进行数理统计和分析影响学业失败风险的主要因素;运用同类分析和比较分析法对总体按班级、学期、课程、挂科风险等级等进行划分,对各指标数值进行多维度的比较,以发现数据的隐含信息。
(2)决策树:用决策点代表决策问题,用方案分枝代表课选择的方案,直观的展现出学生和课程的属性特征与是否挂科之间的联系。
(3)Logistic回归方法:以数学函数的形式建立模型,量化各输入变量对挂科概率的影响方向和程度。
(4)神经网络:通过不断的学习,能够从大量的复杂数据中发现数据与学业风险程度之间的深层次规律,进一步优化提高模型的精度。
(5)生命周期法:运用生命周期法采用结构化、模块化自顶向下对系统进行分析和设计,进行学业预警系统开发,包括系统分析、系统设计、系统实施等环节。
2 数据处理与模型评估
2.1 数据处理
2.1.1 样本选择
通过对班级日常的学习进行观察,不难发现经常挂科的学生通常在学习态度、学习方法或学习能力等方面存在一定问题,同时这也会影响其综合成绩和排名,那么他在今后的学习中比其他同学更有可能出现挂科的情况。
但即便如此,某些课程历史上几乎没有出现过学生挂科的情况(例如军事理论、体育课这样的课程),预测该学生也不会在这样的课程上挂科;但若某门课程的历史挂科率较高,说明该课程的难度可能较大,就可以认为他在该课程上的学业风险较高(挂科率较大)。
为此,本次研究从学校教务处获取11级、12级已毕业的信息管理、生物技术专业所有学生的基本信息、大学本科四年的各科成绩数据作为研究样本,包含每个学生的学号、性别,及其四年内所修读课程的名称、时间、平时成绩、期末考试成绩、总评成绩等。在上述成绩数据的基础上,设计一系列衍生指标,衡量影响学业失败风险的各因素,具体变量如表2.1所示:
表2.1 变量定义
分类 | 变量名称 | 变量描述 |
二分型 | 是否挂科 | 若总评成绩lt;60,取值为1;否则取值为0 |
二分型 | 是否高危 | 若总评成绩≤60或期末考试成绩≤60或实验成绩(如有)≤60,取值为1;否则取值为0 |
连续型 | 平均学分绩点(GPA) | 参照武汉理工大学学生手册规定的算法计算,反映学生各门课程的综合成绩水平 |
连续型 | 累计学分绩点 | 在GPA的基础上,计算每学期的累计GPA(第一学期累计到当前学期之前的加总的GPA) |
连续型 | 累计GPA排名(%) | 累计学分绩点在全专业学生中的排名/专业学生数*100% |
连续型 | 课程的挂科率 | 每门课挂科的人数/考试人数 |
连续型 | 课程的高危率 | 每门课高危的人数/考试人数 |
连续型 | 学生累计挂科率 | 累计到当前学期之前,每个学生的挂科门数/已考试门数 |
连续型 | 学生累计高危率 | 累计到当前学期之前,每个学生的课程高危门数/已考试门数 |
2.1.2 数据预处理
在数据处理方面选用Pandas库中的DataFrame:
- 使用pd.to_numeric()将所有文本类型的成绩记录转换成数值类型。
- 统计每门课程的选课人数,选课人数不足50人的课程大多为不具代表性的通识选修和个性课程,将其排除在研究范围外。
- 规定每个学生的每门课程只保留其所在的第一学期的最高成绩。学生挂科后,即便通过之后的补考或者重修,也视为发生过一次学业失败。
- 筛选出11级学生成绩数据,按课程分类汇总后,计算每门课程的挂科率、高危率。
- 数据表转换:获取的原始成绩表(部分如表2.2所示),以每个人的每门考试作为一条记录;为方便计算每个人的GPA等综合指标,将其转换为以每位学生作为一条记录,以每门课成绩作为属性,如表2.3所示。
表2.2 教务处原始成绩表
学年学期 | 学号 | 课程代码 | 课程名称 | 课程性质 | 学分 | 平时成绩 | 期中成绩 | 期末成绩 | 实验成绩 | 总评成绩 |
2012-2013-2 | 1 | 1060001110 | 军事理论 | 通识必修 | 2 | 92 | 90 | 91 | ||
2011-2012-1 | 1 | 4020287060 | 纲要 | 通识必修 | 2 | 90 | 80 | 83 | ||
2011-2012-2 | 1 | 4050064110 | 高等数学A下 | 大类必修 | 5 | 95 | 53 | 66 | ||
2011-2012-1 | 1 | 4050091050 | 专业导论 | 通识必修 | 1 | 85 | 85 | 85 | ||
2011-2012-2 | 1 | 4050099110 | 基础生物学 | 专业必修 | 3 | 90 | 77 | 81 |
表2.3 学生学期成绩表
学号 | 大学计算机基础 | 大学英语A1 | 军事训练 | 体育1 | 中国近现代史纲要 | 专业导论 |
学分行 | 2 | 3 | 1.5 | 1 | 2 | 1 |
62 | 75 | 78 | 95 | 79 | 90 | 86 |
63 | 60 | 64 | 85 | 80 | 87 | 67 |
64 | 63 | 69 | 85 | 71 | 91 | 76 |
65 | 87 | 82 | 95 | 82 | 93 | 86 |
66 | 62 | 84 | 85 | 80 | 89 | 86 |
67 | 80 | 93 | 85 | 86 | 91 | 86 |
- 筛选出12级学生成绩数据,计算学生的累计挂科率、累计高危率、累计GPA排名等衍生变量。
- 数据表拼接:将学生信息表、学生原始成绩表、课程信息表、转换后的学生成绩表的相关列关联起来形成新的学生成绩表,并将成绩转化为两个取值为0或1的二分变量,分别表示是否挂科、是否高危,这有助于后期进行建模分析。
- 数据探索性分析:根据学生每学期累计综合成绩排名百分位的高低,将其标注为不同的颜色,如表2.5所示。可以清楚地看到,在大二大三排名百分比靠后的学生在这之前的排名也靠后;大一两个学期排名靠前的同学,后面的学期排名也基本靠前。这也印证了通过学生历史成绩预测其未来表现的可行性。
表2.4 拼接后的部分学生成绩表
学年学期 | 学号 | 课程名称 | 课程性质 | 学分 | 期末成绩 | 总评成绩 | 课程挂科率 | 课程高危率 | 累计绩点排名百分比 | 累计挂科率 | 累计高危率 | 性别 | 是否挂科 |
2 | 58 | 体育2 | 通识必修 | 1 | 90 | 88 | 0.000 | 0.014 | 0.036 | 0.000 | 0.000 | 女 | 0 |
2 | 58 | 中国近现代史纲要 | 通识必修 | 2 | 87 | 89 | 0.000 | 0.000 | 0.036 | 0.000 | 0.000 | 女 | 0 |
3 | 58 | 大学英语A3 | 通识必修 | 3 | 86 | 90 | 0.000 | 0.048 | 0.055 | 0.000 | 0.000 | 女 | 0 |
3 | 58 | 动物生理学 | 专业必修 | 3 | 91 | 93 | 0.000 | 0.000 | 0.055 | 0.000 | 0.000 | 女 | 0 |
3 | 58 | 高等数学A下 | 大类必修 | 5 | 91 | 92.8 | 0.090 | 0.486 | 0.055 | 0.000 | 0.000 | 女 | 0 |
3 | 58 | 生物化学A | 大类必修 | 4 | 85 | 87.1 | 0.000 | 0.158 | 0.055 | 0.000 | 0.000 | 女 | 0 |
4 | 58 | 军事理论 | 通识必修 | 2 | 90 | 90 | 0.000 | 0.007 | 0.055 | 0.000 | 0.000 | 女 | 0 |
表2.5学生综合成绩指标统计表
学号 | 排名百分比1 | 排名百分比2 | 排名百分比3 | 排名百分比4 | 排名百分比5 | 排名百分比6 |
99 | 16.36% | 38.18% | 32.73% | 32.73% | 34.55% | 30.91% |
100 | 76.36% | 81.82% | 81.82% | 74.55% | 76.36% | 76.36% |
101 | 81.82% | 69.09% | 60.00% | 41.82% | 38.18% | 40.00% |
102 | 72.73% | 54.55% | 61.82% | 60.00% | 60.00% | 61.82% |
103 | 85.45% | 94.55% | 98.18% | 100.00% | 100.00% | 100.00% |
104 | 54.55% | 76.36% | 78.18% | 72.73% | 72.73% | 74.55% |
105 | 1.82% | 1.82% | 1.82% | 3.64% | 1.82% | 1.82% |
106 | 67.27% | 78.18% | 67.27% | 58.18% | 65.45% | 65.45% |
107 | 43.64% | 21.82% | 21.82% | 25.45% | 21.82% | 18.18% |
108 | 18.18% | 45.45% | 34.55% | 21.82% | 23.64% | 23.64% |
109 | 25.45% | 58.18% | 58.18% | 69.09% | 69.09% | 67.27% |
110 | 14.55% | 14.55% | 12.73% | 16.36% | 18.18% | 20.00% |
111 | 78.18% | 36.36% | 38.18% | 50.91% | 50.91% | 52.73% |
112 | 89.09% | 96.36% | 83.64% | 85.45% | 89.09% | 89.09% |
204 | 100.00% | 100.00% | 100.00% | 100.00% | 100.00% | 100.00% |
205 | 62.92% | 56.18% | 67.42% | 77.53% | 84.27% | 75.28% |
206 | 82.02% | 87.64% | 75.28% | 68.54% | 62.92% | 64.04% |
207 | 34.83% | 33.71% | 38.20% | 26.97% | 28.09% | 30.34% |
208 | 64.04% | 67.42% | 71.91% | 71.91% | 70.79% | 71.91% |
209 | 5.62% | 7.87% | 7.87% | 4.49% | 4.49% | 3.37% |
210 | 91.01% | 77.53% | 84.27% | 83.15% | 85.39% | 89.89% |
211 | 65.17% | 75.28% | 79.78% | 73.03% | 75.28% | 77.53% |
212 | 21.35% | 34.83% | 40.45% | 31.46% | 29.21% | 26.97% |
213 | 67.42% | 73.03% | 78.65% | 78.65% | 77.53% | 79.78% |
214 | 97.75% | 96.63% | 95.51% | 94.38% | 95.51% | 94.38% |
215 | 88.76% | 89.89% | 88.76% | 86.52% | 87.64% | 87.64% |
216 | 47.19% | 68.54% | 62.92% | 59.55% | 53.93% | 52.81% |
217 | 38.20% | 38.20% | 35.96% | 25.84% | 25.84% | 24.72% |
218 | 7.87% | 6.74% | 5.62% | 5.62% | 5.62% | 5.62% |
219 | 78.65% | 71.91% | 58.43% | 51.69% | 50.56% | 50.56% |
2.2 模型评估
2.2.1 研究模型建立
数据建模中分类和预测模型主要寻求适当的分类模型,并在此基础上进行未来预测[5]。分类主要是预测分类标签(离散属性)。从流行的角度来看,就像在基本面分析中确定影响学生挂科的因素一样。除了属性之外,这些因素应该具有相同水平的影响因素且相关性较低,即最终分类因素会影响挂科,但相互之间的影响相对较小。预测主要是建立连续值函数模型以预测对应于给定自变量的因变量的值。
分类具有广泛的应用,本研究将前期计算得出的课程的高危率、学生累计挂科率等指标作为输入变量,使用SPSS Modeler软件对学业风险等级(是否挂科)这一分类变量进行预测,具体用到了以下三种分类算法[6]。
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: