浙江国际海运职业技术学院 金悦奇 朱杰
在高职院校“互联网+”教学背景下,分析机器学习在学业预警中的技术优势和可行性。利用KNN算法构建学业预警模型,提出基于机器学习的高职学业预警系统设计方案。
随着“互联网+”教学不断推广深入,以MOOC、SPOC为代表的信息化教学中得到广泛应用。一方面学生在这些教学信息系统上的学习行为、过程及结果产生了大量的数据记录,这些学习行为数据和学生的学业教学评价之间存在着的内在联系,为创建信息化的学业预警系统提供了数据基础。另一方面随着高职院校对学生学业要求逐步提高和严格,而高职学生本身自主学习能力相对较弱,从而对高职院校学生的学习监管和学业预警的需求更加迫切。当前在人工智能领域机器学习被视为有效分析处理大数据的一种新手段,本文以机器学习技术为基础研究高职院校学业预警系统的设计。
目前机器学习在学业预警系统落地实施方面没有现成的系统框架和软件平台,一部分高校利用机器学习对学生学习行为数据分析的学业预警系统还处于理论研究阶段或探索试验阶段。当前高职院校学业预警系统建设主要存在的问题有:
高职院校学生学业相关数据规模上趋向于海量,但管理上分散在传统的教务管理信息系统、各类课程的网络教学平台以及考证、实习等信息系统。各个信息系统又分属于教务处、毕业处以及各个二级学院等不同部门管理。学业预警数据来源多样化,有大量结构化和半结构化数据,但缺少统一的数据存储模式,数据冗余大、互通性、一致性差。大量学生学习数据往往被空置得不到有效利用。
高职院校学业预警滞后表现在以下几个方面:(1)学业预警机制建立在传统的教务信息管理系统上,数据处理效率低,智能化程度低,通常需要大量人工操作,使得基层教学管理和学生管理人员负担重、时效差。(2)学业预警机制在学生学业状态的识别和反馈上不够及时快速,传统学业警告机制通常需要阶段性的考试评价成绩才能判断输出学生学业状态,高职很多课程没有设置期中考试。(3)传统的学业预警机制规则比较僵化,很难适应学生学习状态的动态变化,特定情况下识别准确率较低,没有引入机器学习技术有效应用的具体案例。
机器学习(Machine Learning)的概念的起源于1950年图灵提出的建立学习机器。简单地说就是研究机器怎样模拟人类的学习行为,从而获取新的知识改善系统自身,目前主要应用于视觉图像、文本语义等处理。机器学习根据所处理数据有无标签,一般可分为两大类:监督学习、无监督学习。学生学业预警存在以往学生学业结果等数据可以作为数据标签,因此采用监督学习算法建模相比无监督学习的聚类等算法识别不同风险程度的学业困难的学生群体,预测学业结果更简单可靠。
学业预警建模属于根据学生学习行为预测学生学业不同类型结果的分类问题,所以模型选择监督学习中分类广泛使用的K-近邻算法(KNN)建模,KNN的距离度量通常选用欧式距离,即闵可夫斯基距离在p=2时的情形。
将学生学习相关的考勤数据、MOOC学习数据、课程成绩等数据集按学生学号关键字并表,得到学生学号、课程ID组合为主键,课程成绩为标签。课程成绩按合格、补考、重修分为三类,将所得数据集引用sklearn 的train_test_split按70∶30比例分割成训练集和测试集,将其中70%数据用于训练,30%数据用于检测模型。分割数据代码如下:
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test=train(X,y,test_size=0.30,random_state=1,stratify=y)
由于课程成绩类型分为三类,创建KNN实例如下:knn=KneighborClassifier(n_neighbor=3)
并由X_train,y_train相应数据来训练以上KNN模型:knn.fit(X_train,y_train)
然后使用测试集数据X_test得出预测分类结果y_pred,并评估模型性能。
y_pred=knn.predit(X_test)
(y_pred==y_test.values).sum()/y_test.size
高职学生学业预警分为课程、学期和毕业资格三层预警。
第一层为课程预警,按学生的日常课程学习行为预测学生最终课程成绩,预警分为“红、黄”两个等级,黄色预警代表课程有大概率不合格需要补考的情形,红色预警代表课程有大概率严重不合格需要重修的情形。
第二层为学期预警,学期预警根据第一层课程预警学生每学期可能出现不及格的课程门数多少,将预警划分为“红、橙、黄”三个预警等级。每学年课程预警出现可能不合格课程 1门为黄色预警,可能不合格课程2~3门为黄色预警,3门以上为红色预警。预警信息将及时反馈到学生管理部门和学生,同时对学生进行及时的学业指导和管理并采取相应的帮扶措施。
第三层为毕业资格审核预警,将第二层学期预警和学生之前学期不合格课程项目累计超过5门,尤其监控参加课程补考、重修后仍有课程不合格、学业成绩不达标的学生将触发预警并识别为学困生。由此对这类情形学生及时介入加强学业指导,及时安排专业辅导学习,必要时开展毕业资格预警教育,告知学生毕业条件,对课程不合格、应获学分不足的学生,合理规范的安排重修学习,杜绝毕业时清考现象。
系统主要核心功能包括学生行为数据采集、学业预警处理、学业预警反馈输出三部分功能。学业预警系统的框架如图1所示。
图1 学业预警系统框架Fig.1 Academic warning system framework
其中,大数据采集功能的实现主要通过两类途径:一类采集途径是通过互联网络大数据平台,主要为MOOC或SPOC平台数据,采集网络平台的学生学习行为等数据,常见数据格式为JSON,如MOOC后台统计的访问数、浏览时长等。另一类采集途径是通过第三方数据的提交和抓取,如其他Excel格式的成绩表等。
学业预警核心功能模块主要采用Anaconda+ Sklearn+Pandas组合架构。其中,Anaconda是一个包含多种工具包的Python整合环境;Sklearn即Scikit-learn是一种可以灵活运行在Python环境上,支持多种算法的机器学习平台;Pandas是一种提供高性能、易于使用的数据结构和数据分析工具。
学业预警反馈输出功能设计采用以Web+小程序方式。首先基于Web建立学业预警系统的交互界面,技术上选择Html5响应式前端设计。其中,对于关键预警反馈信息则同时支持通过小程序等推送方式,保证反馈的时效性。
高职学生学业预警是一种全过程、大数据的学生行为监测、分析、反馈系统工程。机器学习提供了在当前教学大数据环境下开展数据挖掘的一种方式,由此提出了基于机器学习KNN算法的预警模型设计的具备大数据采集、分析、反馈输出等功能的高职学业预警系统。对提升教学大数据的利用,改善学业预警效率,探索机器学习在教育领域应用有参考指导作用。