影响“大学计算机程序设计”成绩的高考生信息属性分析*

2021-09-24 06:12赵亚慧崔荣一赵琳琳
科技与创新 2021年18期
关键词:C语言学习成绩样本

赵亚慧,崔荣一,金 城,赵琳琳,崔 旭

(延边大学工学院,吉林 延边朝鲜族自治州133002)

1 引言

影响大学课程学习效果的因素很多,而且很复杂,如何利用历史数据自动分析影响学习成绩的因素,是提高教学研究效率的重要工作。“大学计算机程序设计”课程一般被安排在大学一年级,而一年级的课程学习成绩会直接受入学前各种因素的影响。

通过分析高考考生信息和一年级学习成绩的相关性,发现影响入学后学生学习成绩的主要因素,对教学设计具有十分重要的预见性价值,有利于针对不同学生群体合理组织和落实教学工作。

针对上述问题,国内学者进行了相关研究工作,部分结果表明:学生的高考数学成绩与学生入学后的大学数学专业课成绩无显著相关性[1];学生的高考成绩与学生入学后的考试成绩呈弱相关性[2];偏重记忆的文科类课程与高考成绩的关联性较大,逻辑推理类课程与高考成绩的关联则较弱[3]。这些研究主要是基于统计方法,对于没有明显统计学规律的多元复杂数据,其效果并不理想。

本文旨在通过对高考考生信息和大学一年级程序设计课程学习成绩相关性的自动分析,发现影响程序设计学习成绩的入学前的主要因素,其主要技术路线是:利用高考考生数据和一年级程序设计期末考试成绩训练随机森林机器学习模型[4],建立根据考生数据预测一年级成绩的分类器;使用局部可理解的模型无关解释(Local interpretable model-agnostic explanations,LIME)技术对影响分类器的高考考生信息主要特征进行相关性分析,得出主要影响因素。

2 相关技术

2.1 随机森林算法

利用机器学习方法可以从一类数据中自动发现规律,主要分为监督学习、无监督学习和强化学习[5]。决策树是一种广泛应用于现实领域的树状分类器,但当数据复杂时该算法的准确率较低。为了解决这一问题,BREIMAN提出了随机森林算法[6-8],该算法具有解释性好、结构简单、计算开销小等优点[9]。

随机森林算法的具体步骤如下。

输入:样本集D={(x1,y1),(x2,y2),…,(xm,ym)}。

决策树迭代次数为T。

输出:随机森林f(x)。

Step1:fort=1 toT。

对训练集进行第t次随机采样,共采集m次,由此得到包含m个样本的采样集Dt;用采样集Dt训练第t个决策树模型Gt(x)。

Step 2:在形成的T个决策树中,利用投票表决法确定结果类型。

2.2 局部可理解的模型无关解释(LIME)技术

可解释性是机器学习中尚未得到解决的重要问题,一个机器学习模型是否可解释决定该模型的终极价值。如果模型不可解释,无法相信模型的预测结果是否合理正确。

LIME是由RIBEIRO等人2016年发表的开源工具,旨在解释能真实地反映分类器在被预测样本上的行为,而且能解释任何模型,不需要进行模型适配。它是对不可知模型的局部解释,帮助人们理解和解释复杂机器学习模型如何作出决策。该工具可以用于解释任何分类模型,包括随机森林、梯度提升树、神经网络等。而且它可以应用于多种输入数据中,比如表格数据、图像数据或者文本数据。

为了搞清楚哪一部分输入对预测结果产生贡献,LIME利用输入值在其周围做微小扰动,观察模型的预测行为。然后根据这些扰动的数据点距离原始数据的距离分配权重,基于它们学习得到一个可解释的模型和预测结果。

利用LIME计算调整特征属性贡献度的基本流程如下:在原始样本中随机替换掉若干特征,以此得到含有噪声的数据;计算模型对的预测值;求出原样本与生成样本之间的距离,并将其作为权重;利用生成样本、预测值和权重训练一个简单的线性模型g;计算模型g拟合样本的结果与模型预测样本结果之间的差值,然后根据差值对模型进行解释(差值越小,贡献度越大)。

3 基于分类的成绩影响因素分析方法

3.1 数据收集与整理

本文以某大学计算机专业一年级“C语言程序设计”课程为例,收集2014—2016级3个年级的学生高考报名个人信息,包括高考成绩、学生生源、民族、考生类别和入学第一年的C语言期末考试成绩。3个年级的学生人数分别为115人、157人和145人。

3个年级学生的高考考生信息特征属性及其分布如表1所示。由表1可知,在性别方面,男生数量略高于女生;在民族结构方面,汉族学生占57.2%,少数民族学生占42.8%;在考生类别方面,城市考生占58.7%;在生源方面,考生主要来自吉林省,占比49.9%。

表1 各特征对模型的贡献度

将采集的学生C语言成绩按分数段分为5类:100~90(第1类),89~80(第2类),79~70(第3类),69~60(第4类),59~0(第5类)。

3.2 基于预测与模型解释的主要信息属性判定

确定高考考生信息中对一年级C语言成绩具有重要影响的信息属性的过程分为两个部分:建立成绩预测模型和解释模型。

3.2.1 建立成绩预测模型

这一部分的目标是根据高考考生信息预测大学一年级时C语言成绩,步骤如下:将整理后的数据按9∶1分为训练集和测试集;利用各年级的训练集数据训练随机森林模型,并通过调整随机森林的参数得到最优的预测模型;利用Bootstrap方法从训练集中随机抽取多个训练样本子集,并对每个子集分别进行随机森林建模;利用测试集对各随机森林进行测试,并综合多棵随机森林的测试结果,以投票方式得出最终的C语言课程成绩预测模型。

3.2.2 模型解释

使用LIME工具计算其对随机森林模型的贡献度,确定对C语言成绩影响最大的高考考生信息的属性,步骤如下:对数据集进行扰动,并获得基于扰动数据集的预测结果;根据新的样本和目标实例的接近程度对其进行加权;使用扰动数据集训练加权的可解释模型;通过分析可解释模型的训练结果来分析预测模型。

4 数据处理及结果分析

利用随机森林算法对数据进行训练,为获取最佳分类效果,本文利用实验确定模型参数,结果如下:

根据表1中的贡献度结果,本文将各年级中排序为前2的特征作为最大的相关性特征。这些特征包括考生生源、民族、总成绩、数学成绩和语文成绩5个特征。在所有特征中任取5种特征,并按不重复原则组合方案进行排列组合,共得到126种组合方式。为验证本文选择的特征方案为最佳方案,本文对126种不同的特征组合使用随机森林进行了训练和测试,结果表明,在所有的特征组合方案中,本文提出的特征选择方案的准确率最高(68%),是最优组合方案。

在本文提出的特征组合方案中,5种特征与C语言成绩相关度最大的原因如下:高考总成绩是反映一个学生学习能力的重要指标,因此C语言成绩与高考总成绩呈一定相关性;因少数民族考生录取分数标准与汉族考生有差异,且入学初期会存在一定的汉语表达障碍,因此少数民族学生在大一初期的学习成绩偏低;学好“计算机程序设计”课程需要学生具有较好的逻辑思维能力,而数学成绩在一定程度上能体现一个学生的逻辑思维能力,因此数学成绩与C语言成绩具有较大的相关性;语文成绩能够体现学生的表达能力和理解能力,其对学习和理解知识至关重要,因此语文成绩与C语言成绩也具有较大的相关性。

5 结论

本文利用基于随机森林算法和LIME解释工具对C语言成绩的高考考生信息影响因素进行了分析,结果表明,考生生源、总成绩、民族、数学成绩和语文成绩5种特征与C语言成绩的相关性最高。本文的研究结果有助于教师根据新生的实际情况设计出具有针对性的教学模式,以提高学生的学习成绩。

在今后的研究中笔者们将进一步扩大实验数据以提高拟合模型的能力,同时引进模型解释领域的新成果,提高判别模型预测性能因素的合理性、准确性,获得更具普适性的因果证据,为大学一年级教学设计提供有价值的依据。

猜你喜欢
C语言学习成绩样本
“C语言程序设计”课程混合教学探索
兄弟让举
名落孙山
规划·样本
基于C语言的计算机软件编程技术探究
中职C语言单片机课堂教学中的趣味性探讨
人大专题询问之“方城样本”
计算机原理中C语言的应用价值
随机微分方程的样本Lyapunov二次型估计
“官员写作”的四个样本