1. 绪论
1.1. 选题背景
学生成绩数据的分析与挖掘工作,对优化教学管理体系具有重要的实践价值。基于学生学习全流程积淀的多元数据开展成绩预测,不仅能够督促学生落实常态化学习任务,更有助于教师及时识别并解决教学过程中存在的各类问题。传统成绩预测方法往往将学生的教育背景、课堂表现、出勤情况以及课外作业完成质量作为核心参考维度,然而在在线教育普及的背景下,学生依托在线学习平台产生的学习轨迹、答题行为特征等过程性数据,同样蕴含着能够反映其知识掌握水平的关键信息。
随着教育领域的持续发展与革新,实现学生成绩的精准预测愈发凸显其重要性。精准的成绩预测结果,可辅助教师深度掌握学生的学习状态,进而制定差异化教学策略,切实提升教学质量。与此同时,该预测结果也能为学生与家长提供有效参考,助力二者科学规划后续学习路径与职业发展方向。由此可见,学生成绩等级预测模型的研究具备极高的理论与应用价值。
1.2. 国内外研究与发展现状
近年来,学生成绩等级预测[1]模型成为教育领域与数据挖掘交叉研究的热点,国内外学者围绕多元技术路径与应用场景开展了大量深入探索。国内研究多聚焦传统统计方法、深度学习与集成学习技术的实践应用,以学生历史数据为核心,为教学管理优化提供支撑。马玉玲在山东大学的博士研究中,基于高校学生课程成绩、出勤记录等历史数据,对比逻辑回归、支持向量机等算法,构建了适配高校场景的成绩预测优化模型,可提前识别学业风险学生,弥补传统学业预警的滞后性。马丹在吉林大学的研究采用传统统计分析与决策树算法结合[2]的方式,挖掘学生考试成绩、课堂表现等多维度数据,明确影响学业表现的关键变量,其开发的分析系统能自动生成报告,为教师调整教学提供数据参考。深度学习领域,林梦楠、李金辉提出基于自适应差分进化的神经网络模型,以学习轨迹数据为输入,预测准确率较传统BP神经网络提升约5% [3];陆鑫赟、王兴芬构建的双隐层BP神经网络模型,虽聚焦创新能力预测,但多因素协同的设计思路为成绩预测模型[4]融入非学业特征提供了借鉴。
国外研究更注重多元数据融合,广泛纳入学习行为、社交网络、情感状态等信息,采用多种算法构建精准预测模型。Amoo M. Adewale等学者以尼日利亚中学生的课堂参与度、家庭背景等数据为研究对象[5],通过逻辑回归筛选关键特征后,结合人工神经网络构建模型,准确率达82%,为识别学业困难学生、优化资源分配提供依据。部分国外学者采用AdaBoost算法集成多个弱分类器,以学业历史数据、社交网络互动数据为特征构建多因素融合模型,对成绩极端群体识别准确率超85%,为高校制定差异化教育政策提供支撑。此外,NGUYEN K T [6]等学者将情绪智力、学习环境等因素纳入预测框架,结合传统学业数据构建模型,发现情绪智力对成绩的影响贡献率达18%,推动模型向多维度、人性化方向发展。这些国内外研究均围绕“数据驱动–算法建模–决策支持”核心逻辑,显著提升了成绩预测精准度,推动教育体系从“经验驱动”向“数据驱动”转型,为个性化教学、资源优化配置提供重要支撑,持续助力教育质量提升。
2. 相关理论知识
2.1. Pyspark库
在信息时代,数据极为宝贵,Python和Pyspark成为数据处理和分析的利器。Pyspark.ml提供机器学习工具和算法,支持模型训练和参数调优,适用于大规模数据集。Pyspark.sql以DataFrame为数据结构,支持SQL查询和分布式数据处理。DataFrame将数据转换为适合Spark处理的格式,优化了大数据分析。Pyspark是数据科学家和Spark工程师的重要技能。
2.2. 分类算法介绍
2.2.1. 逻辑回归算法
逻辑回归(Logistic Regression)算法是一类专门用于解决二分类任务的统计学习方法。尽管其名称中带有“回归”字样,但该算法本质上属于分类算法范畴,而非回归算法。逻辑回归的核心原理是,将线性回归模型的输出结果(即对数几率,也可称为对数–几率函数)代入逻辑函数(又称sigmoid函数)中,把连续的预测值映射至0到1的区间内,以此实现二分类的目标。该算法的数学表达式详见公式(2-1)。
(2-1)
其中,
是给定输入X条件下观测值属于类别1的概率,e是自然对数的底;β0,β1,∙∙∙,βn是模型参数,需要通过训练数据来学习。
2.2.2. 混淆矩阵
混淆矩阵是评估分类模型性能的表格,包含真阳性、真阴性、假阳性和假阴性四个关键值,用于计算性能指标,其结构如表1所示。
Table 1. Confusion matrix
表1. 混淆矩阵
|
实际Positive |
实际Negative |
预测Positive |
True Positives |
False Positives |
预测Negative |
False Negatives |
True Negatives |
混淆矩阵及其计算得到的性能指标,可为分类模型性能评估提供全面信息,尤其适用于二分类问题。面对多类别问题时,混淆矩阵的结构会相应扩展,以适配各类别的组合情况。
2.2.3. ROC曲线
ROC曲线是一类用于评估二分类模型性能的可视化分析工具,其核心作用在于直观呈现真正例率(True Positive Rate,亦称为敏感性)与假正例率(False Positive Rate)二者之间的关联关系。该曲线以假正例率(False Positive Rate, FPR)为横轴,以真正例率(True Positive Rate,TPR,又名敏感性或召回率)为纵轴,两个指标的具体计算公式分别对应公式(2-3)与公式(2-4)。
(2-3)
(2-4)
3. 数据探索与预处理
3.1. 数据探索
本研究的实验数据来源于“Kalboard 360”学习管理系统,该数据集总计收录480条学生相关记录,数据采集周期覆盖两个学期:其中第一学期采集245条学生记录,第二学期采集235条学生记录。该数据集包含17个维度的字段信息,并依据总成绩将学生划分为三个等级,具体为:低0~69、中:70~89、高:90~100。各个数据项的含义如表2所示。
Table 2. Explanation of data item meanings
表2. 数据项含义说明
数据项 |
数据项含义 |
gender |
学生性别(Male or Female) |
NationallTy |
学生国籍 |
Place of Birth |
学生的出生地 |
StageID |
受教育水平(lowerlevel) (MiddleSchool, HighSchool) |
GradeID |
年级(G-01, G-02, G-03, G-04, G-05, G-06, G-07, G-08, G-09, G-10, G-11, G-12) |
SectionID |
隶属的教室(A, B, C) |
Topic |
课程名 |
Semester |
学校的学期 (First, Second) |
Relation |
监护学生的家长(mom, father) |
Ralsedhands |
学生在教室中举手次数(0~100) |
VIsITedResources |
学生访问在线课程次数(0~100) |
AnnouncementsVIew |
学生检查新公告的次数(0~100) |
Discussion |
学生参加讨论组的次数(0~100) |
ParentAnsweringSurvey |
家长是否回答了学校提供的调查问卷(Yes, No) |
ParentschoolSatisfaction |
家长对学校的满意度(Yes, No) |
StudentAbsenceDays |
每个学生的缺勤天数(above-7, under-7) |
Class |
根据学生的总成绩分为三个等级(低分:0~69,中等分数:70~89,高分:90~100) |
xAPI-Edu-Data.csv数据集共计包含480条样本记录,每条记录对应17项特征信息。本研究通过Pandas库中的read_csv()函数完成数据集的读取与初步检视。该数据集涵盖480行记录与17个字段,为满足数据挖掘模型的输入规范,需逐一核查各字段的数据类型并开展深度分析。
3.2. 数据预处理
3.2.1. 数据转换
DataFrame具备分布式特性,这一特性使其能够充分发挥Spark的并行计算优势,大幅提升数据处理任务的执行效率。将原始数据转换为DataFrame格式后,可实现更灵活、高效的数据处理与分析操作,为后续特征工程、模型训练等核心环节提供了便捷的数据基础。该数据格式转换过程是构建大规模数据处理与数据挖掘应用的关键步骤,不仅为数据科学家和分析师提供了高效的分析工具,还显著降低了大数据环境下复杂数据操作的实施难度。本研究以Kalboard 360数据集为研究对象,完成了数据加载及向DataFrame格式的转换工作。
3.2.2. 数值编码
数据集预处理需将字符型数据转换为数值型,以满足模型输入需求。通过数值编码,字符型特征得以有效利用,为特征工程和建模打下基础。无序分类特征需进行独热编码,将其转换为二进制向量,便于模型处理。
3.2.3. 特征整合
为提升特征处理效率并为后续模型训练奠定基础,本研究采用VectorAssembler方法整合全部特征,将其归并为一个独立的特征列。该特征整合方式能够将输入特征以更紧凑、结构化的形式呈现,便于模型对特征进行解析与处理。通过将分散的各特征列合并为单一向量列,不仅简化了特征管理流程,还能为模型提供更高效的输入数据格式。
4. 模型构建与训练
4.1. 数据集划分
为实现数据集的科学划分,本研究采用randomSplit()方法,将完成编码预处理的数据集按照7:3的比例切分为训练集与测试集。其中参数[0.7, 0.3]对应训练集与测试集的划分占比,设置seed = 1旨在保证数据集划分结果的可复现性。该步骤的核心目的在于:构建学生成绩等级预测模型时,利用训练集完成模型的拟合训练,同时依托测试集开展模型性能验证。此种划分策略能够保障训练集与测试集均具备数据代表性,有效提升模型在未知数据上的泛化能力。
4.2. 逻辑回归模型
4.2.1. 逻辑回归模型构建
在逻辑回归模型的构建阶段,本研究基于pyspark库中的LogisticRegression类[7]实例化逻辑回归模型,并设定核心参数:最大迭代次数为10,正则化系数取值0.1,将“ClassIndex”字段指定为目标变量。逻辑回归作为经典的二分类算法,其核心原理是通过学习训练数据中特征与标签的关联关系,实现对目标变量两个类别归属的预测。本研究构建该模型的核心目标,是使其能够在学生成绩等级预测任务中完成高效的特征学习与类别划分。
4.2.2. 模型训练及预测
本研究调用fit()方法对逻辑回归模型(lrmodel) [8]开展训练,以训练集作为数据输入让模型完成特征学习;随后借助transform()方法,将训练完成的模型部署至测试集,以此生成测试集的预测结果。该流程的核心目的在于验证模型针对新数据的适配性,进而评估其泛化能力与预测准确率。模型训练与预测是构建学生成绩等级预测模型的核心环节,通过这一系列操作可实现对学生成绩等级的有效预测,具体预测结果详见图1。
Figure 1. Test set prediction results
图1. 测试集预测结果
4.3. 随机森林模型
4.3.1. 随机森林模型构建
本研究使用pyspark库中的RandomForestClassifier类[9]创建了一个随机森林模型。该模型的参数包括目标列为“ClassIndex”,特征列为“features”,以及设定了随机森林中决策树的个数为10。
4.3.2. 模型训练及预测
Figure 2. Test set prediction results
图2. 测试集预测结果
本研究使用fit()方法对训练集进行训练,得到了随机森林模型。接着,通过transform()方法,将该模型应用于测试集test [10],得到了对测试集的预测结果。这个过程是为了评估随机森林模型在新数据上的预测效果,以便确定模型的性能和泛化能力。
测试集预测结果如图2所示。
5. 模型评估与优化
5.1. 逻辑回归模型
5.1.1. 性能评估
使用MulticlassClassificationEvaluator进行模型评估。本次模型评估设定的核心参数为:以 “prediction” [11]列为预测结果列,以“ClassIndex”列为目标变量列。评估过程选取准确率作为核心性能指标,通过调用evaluate()方法测算逻辑回归模型在测试集上的预测准确率。经计算可得,该模型在测试集上的准确率达到0.724,这一数值表明模型能够对72.4%的学生成绩等级实现准确预测。
逻辑回归模型的混淆矩阵[12]与ROC曲线分析结果如图3所示。图3呈现的混淆矩阵是分类模型性能评估的常用工具,其核心作用在于清晰呈现模型预测类别与样本真实标签的对应关系。本研究中的混淆矩阵涵盖0、1、2三个类别,分别对应学生成绩等级的高、中、低三个预测层级。
类别1识别效果佳,正确预测49个,错误分类15个。类别0和类别2识别较差,类别2易误分为类别1。模型在区分0和1类别上优于区分0和2、1和2。混淆矩阵揭示了模型性能和易混淆类别。ROC曲线图4显示,类别0的ROC面积0.93表现最佳,类别1为0.76需改进,类别2为0.87表现次之。模型整体表现良好,尤其在类别0和2上。
5.1.2. 参数调优
利用pyspark的tune包和GridSearch对逻辑回归进行参数优化,调整maxIter和Elastic net。通过交叉验证评估,测试准确率从0.724增至0.731,优化了学生成绩预测。
调优后逻辑回归混淆矩阵与ROC曲线如图3与图4所示。
Figure 3. Confusion matrix of logistic regression after tuning
图3. 调优后逻辑回归混淆矩阵
图3展示了调优后的混淆矩阵,包含三个成绩等级类别。类别0正确预测33个,5个误判为类别1。类别1正确预测46个,8个误判为类别0,10个误判为类别2。类别2正确预测27个,16个误判为类别1。类别1识别率高,类别2最不稳定,易误判为类别1。整体上,模型对类别1预测最准,类别2最不准确。
图4的ROC曲线显示,类别0的识别最准确(AUC = 0.96),类别1次之(AUC = 0.79),类别2表现较高(AUC = 0.92)。Grid Search调优后,模型整体表现良好,类别0最佳。
Figure 4. ROC curve of the tuned logistic regression
图4. 调优后逻辑回归ROC曲线
通过调优前后对比模型准确率与混淆矩阵与ROC曲线结果可得逻辑回归在初始状态下的准确率为0.724,进行参数调优后,准确率提升至0.731。
5.2. 随机森林模型
5.2.1. 性能评估
本研究选取准确率作为核心评价指标,对随机森林模型的性能进行系统性验证。实验环节中,通过调用evaluate()方法定量计算模型在测试集上的准确率;该指标是分类模型性能评估的经典标准,其物理内涵为测试数据中模型正确预测样本数与总样本数的比值。输出数据显示,随机森林模型在测试集上的准确率达到0.759,这一结果表明模型具有良好的预测效能。
模型混淆矩阵,显示类别1预测最准,50个实例正确分类。类别0预测较准,但有误分类。类别2表现较差,多误分为类别1。随机森林模型分类表现不均,需改进类别2预测。
模型ROC曲线显示:类别0区分度最高(AUC = 0.96),类别1较低(AUC = 0.81),类别2良好(AUC = 0.93)。类别1识别性能较弱,可能因数据不平衡或特征不明显。理想ROC曲线应接近左上角。
5.2.2. 参数调优
用GridSearch对随机森林模型进行超参调优[13]。调优了建树个数参数,通过交叉验证评估,测试集准确率从0.759提升至0.79,优化了学生成绩预测。
Figure 5. Confusion matrix of the optimized random forest
图5. 优化后随机森林混淆矩阵
此外,超参数调优后随机森林模型对应的混淆矩阵、ROC曲线,以及学生成绩等级预测结果,分别如图5~7所示。
图5显示调优后混淆矩阵,类别2识别率高,类别0次之,类别1最差。总体上,随机森林模型经Grid Search调优后,类别1预测最准,类别2最不稳。图6的ROC曲线显示类别0识别最佳(AUC = 0.97),类别2次之(AUC = 0.96) [14],类别1最弱(AUC = 0.86)。逻辑回归模型经pyspark调优后,整体表现提升,类别0最优。
Figure 6. ROC curve of the tuned random forest
图6. 调优后随机森林ROC曲线
综上所述,随机森林模型在未经过参数优化的初始状态下,预测准确率为0.759。为进一步提升模型性能,本研究对其开展超参数调优以探寻最优参数组合[15],调优完成后,该模型的预测准确率提升至0.79。
Figure 7. Prediction results of student grade levels
图7. 学生成绩等级预测结果
此外,图7展示了随机选取的25名学生的成绩等级预测结果,其中以2.0代表低等级、1.0代表中等级、0.0代表高等级。基于该预测结果,教师可针对性地为不同层次的学生制定差异化教学方案。
6. 总结
本研究使用Kalboard 360数据集,构建逻辑回归和随机森林模型预测学生成绩等级,旨在为教育管理提供高效工具。模型基于在线学习过程性数据,通过pyspark.ml构建,并使用DataFrame进行数据处理。混淆矩阵和ROC曲线评估显示模型性能良好。为进一步提高预测精度,采用pyspark的tune包和Grid Search进行超参数调优,将准确率提升至0.731和0.79,达到最佳预测状态。
NOTES
*通讯作者。