APP下载

基于决策树模型的高职学生录取类别与课程学习情况分析

2021-12-03邵文昭张书强王晓辉张文新

邯郸职业技术学院学报 2021年3期
关键词:决策树对口正确率

邵文昭 张书强 王晓辉 张文新

(邯郸职业技术学院 电子信息工程系,河北 邯郸 056005)

一、引言

高职院校的学生来自多种录取类别。其中,计算机类的生源主要包含普招—理工、普招—文史、对口—计算机、单招等。对于大数据技术与应用专业来说,由于其本身的学科特点,最主要的生源来自于普招—理工(以下简称普招)和对口—计算机(以下简称对口)两种类别。在教学实践中,我们发现,这两类学生入学之后的课程学习表现有所不同。我们猜测,这种不同可能源于这两类学生在学习经历、成长经历、课程基础等方面的差别。

为了更深入地发现录取类别和课程学习表现之间的内在联系,我们使用数据统计和机器学习的方法建立了根据课程学习表现反推出学生录取类别的分类模型。为了给分类模型提供训练数据和测试数据,我们使用pandas数据统计工具对邯郸职业技术学院大数据技术与应用专业2019级部分学生的录取数据和成绩表格进行了整理,并建立了数据集。我们的分类器以各科学习成绩为特征,以录取类别为类标。

我们建立分类器是为了发现不同类别的学生在课程学习表现上的差异,而不是为了计算出学生的录取类别。因此,我们使用了可解释性很强的CART决策树模型[1]。我们使用5折交叉验证的方法测试了模型在不同深度、不同特征选择准则(包括信息增益率和基尼系数)下的分类正确率。实验结果表明,6层深、使用信息增益率作为特征选择准则的模型具有最高的验证正确率。我们在确定模型的超参数之后使用全部数据集训练出了最终的模型,并将这个模型可视化。模型的可视化结果表明,在大学一年级第一学期的学习中,对口类学生在专业课的学习上优势较为明显,而普招类学生在通识课的学习上有着一定的优势。在专业课程中,微机原理对学生类别的区分度较为明显;在通识课中,大学生心理健康对学生类别的区分度较为明显。据此,我们建议在大一上学期开设一门“大学计算机基础”课程,或是在微机原理课程的主要内容之前增加对大学计算机基础知识的介绍,让专业知识的学习曲线变得相对平缓。

二、数据的整理

我们使用的数据来自于四张Excel表格,包括邯郸职业技术学院大数据技术与应用2019-1班的19-20学年第一学期成绩表、大数据技术与应用2019-2班的19-20学年第一学期成绩表、学生信息汇总表、招生数据表,通过对这四张表进行数据清洗、行列操作、表格连接、表格拼接,我们得到了以学号、姓名、总成绩、各科成绩为列属性的DataFrame二维表。我们以这个二维表作为数据集,这个数据集包含了两个类别共63个样本点。这些样本包含了大数据技术与应用2019-1班和2019-2班所有的普招—理工类学生和对口类学生,没有经过任何形式的人为筛选。我们的数据整理过程使用的是Python语言与Pandas库。

三、构建决策树模型

决策树模型是机器学习领域常用的一种监督型学习模型,其结构犹如一颗倒立的树,由根节点、分支和叶子节点构成,每个非叶节点使用一个特征对样本进行分类。这类模型的优势之一是可解释性很强。由于我们构建分类器的主要目的是分析各类别学生的课程学习情况,并由此改进教学内容和教学方法,我们选择了具有很强可解释性的决策树模型。

1.特征的选择

本文的第二部分“数据的整理”当中描述了通过数据处理的方式建立数据集的过程。我们以二维表的各科成绩和总成绩为特征、以考生类型为标签,构建了用于建立决策树的数据集。在这个过程中,我们选取了总成绩以及各科成绩作为特征,并选取了学生的录取类别(普招和对口)作为类别标签。使用各科成绩作为特征,是为了考察不同类别的学生在不同课程上的表现。使用总成绩作为特征,是为了考察不同类别学生的总成绩是否存在着明显差异。

2.分类器的建立

我们将CART算法与C4.5算法相结合,即采用CART算法的二叉树机制与C4.5算法的信息增益率。这样一来,我们建立的就是采用信息增益率作为特征选择准则的二叉决策树。之所以采用了CART算法,是因为我们构建的是以“理工”(指普招—理工)和“对口”作为类别标签的二分类决策树;之所以采用C4.5算法的信息增益率而不是CART算法的基尼系数,是因为我们的数据集较小、维度较低。在这种情况下,基尼系数无法发挥其算法效率的优势,而其准确率又不如信息增益率。这一点,在本文的实验中会有所体现。

为了确定分类器的节点分隔的依据、层数等超参数,并且在确定超参数之后使用尽量多的数据训练模型,我们采取如下的方式建立分类器:

1.用交叉验证的方式确定分类器的层数和特征选择准则这两个超参数;

2.在确定了超参数之后,使用全部训练数据训练分类器模型。

四、实验及其结果分析

我们建立的是决策树分类器。如前文所示,我们使用的是CART决策树,但在损失函数的选择上尝试使用了CART[2][3]的基尼系数和C4.5[4]的信息增益率[5]这两种方法作为节点划分的依据,并且尝试了不同的层数。为了得到更接近与最好效果的超参数,我们使用了交叉验证的方式。考虑到我们的数据集仅包含63条数据,我们采用了五折交叉验证的方式。由于我们的目的是得到一个能够描述录取类别和入学以后课程学习表现之间内在联系的工具,而不是建立一个用于区分录取类别的模型,分类器在全部数据集上的表现也是我们所关注的。我们一共尝试使用了8组超参数,其五折验证正确率和全部数据集作为训练集和验证集得到的验证正确率如表1所示。

表1 采用不同超参数的决策树的交叉验证正确率和使用全部数据集得到的正确率

表1收集了两类正确率——交叉验证的正确率和在全部数据集上训练得到的正确率,两种之间采用“/”分隔。前者用于描述分类器的分类性能,后者则是描述分类器对数据集特征描述的精细程度。

理论上,我们还应该实验7层的决策树。但由于我们的剪枝策略,决策树的深度最多只能达到6层。因此,我们只实验了深度为3,4,5,6的情况。

显然,从分类性能的角度分析,我们采用的超参数为:使用信息增益率作为损失函数,采用6层深度的决策树(即不限制决策树的深度);从对数据描述的精细程度的角度分析,我们采用的超参数为:采用6层深度的决策树。综合分类性能和精细程度,我们采用信息增益率为损失函数,并且将决策树的程度设置为6层(相当于不限制决策树的层数)。我们将这样得到的决策树可视化,如图1所示。

图 1 可视化的决策树模型

图1当中的每个框表示决策树的一个节点,“class=对口”的意思是以对口为正类、普招为负类,value=[a,b]的意思是该节点所包含的正类和负类的样本数分别为a和b,samples表示样本数,entropy表示该节点的信息熵。节点的颜色表示节点当中样本的类别情况:蓝色节点表示普招学生占多数的节点,橙色节点表示对口学生占多数的节点。颜色越深,信息熵越低,节点的“纯度”越高。这里的信息熵采用C4.5算法当中的信息熵定义[4],如下所示:

其中,pi= P(X=xi),i= 1,2,...,n。这里的X是离散型随机变量。

从图1可视化的决策树中,我们有如下发现:

1.微机原理的成绩与录取类别之间具有很强的相关性。微机原理成绩大于82分的学生均为对口类学生。这是因为对口类学生在入学时就有了一定的专业课基础,对计算机不陌生。而绝大多数普招类学生在入学前并没有接触过专业课。在这样的情况下,普招类学生在初次接触微机原理课程当中的运算器、控制器、存储器等概念时很容易糊涂。

2.与微机原理不一样的是,C语言程序设计的成绩与录取类别之间的相关性不明显。这是因为C语言程序设计成绩体现的主要是编程与逻辑思维能力,而不是对硬件的操作能力。即使这样,这门课程的成绩和录取类别之间还是呈现出了一定的相关性。

3.大学生心理健康课程的成绩与录取类别之间也具有较强的相关性。在微机原理成绩不超过82分的学生当中,大学生心理健康课程成绩大于87分的绝大部分是普招类学生。这是因为大学生心理健康课程的考试采用的是笔试的方式,而这样的考察方式显然是相对有利于统招类考生的。

4.演讲与口才的课程成绩与录取类别之间也存在较强的相关性,并且对口生在这门课的表现要好于普招生。这可能是因为刚入学的对口生比刚入学的普招生更善于社交和言语表达。

进一步,我们提出如下建议:

在大一上学期开设一门“大学计算机基础”课程,或是在微机原理课程的主要内容之前增加对大学计算机基础知识的介绍,让普招类学生在入学以后对计算机的中央处理器、存储器、网络、数字电路、程序、数据等概念有个基本的了解,这样可以让专业知识的学习曲线变得相对平缓,也更容易被学生们接受。

五、总结

本文整理了邯郸职业技术学院大数据技术与应用专业2019级学生的录取类别和大一上学期各科的学习成绩,并通过机器学习的方法建立了用于发掘录取类别和课程学习表现之间关系的决策树模型。这个模型可以通过学生入学以后的课程学习表现反推出其录取类别,并在测试集上取得了81.15%的正确率。这揭示了录取类别和课程学习表现之间具有某种内在联系。通过可视化决策树模型,我们分析了课程成绩和录取类别之间的关系,并有针对性地提出了课程设置和教学内容方面的改进意见。

猜你喜欢

决策树对口正确率
个性化护理干预对提高住院患者留取痰标本正确率的影响
基于决策树和神经网络的高血压病危险因素研究
2021年山西省对口升学招生考试工作日程
2021年山西省对口升学考生体格检查表
门诊分诊服务态度与正确率对护患关系的影响
选用对口药剂 适期防治病虫
对口帮扶这一年
决策树和随机森林方法在管理决策中的应用
决策树多元分类模型预测森林植被覆盖
生意