计算机应用技术论文

您当前的位置:学术堂 > 计算机论文 > 计算机应用技术论文 >

大数据技术在学生成绩分析中的应用

来源:学术堂 作者:姚老师
发布于:2017-02-23 共4348字
  本篇论文快速导航:

展开更多

  第 4 章 大数据技术在学生成绩分析中的应用。

  通过第一章的文献总结,我们了解到我国已经有一部分高校利用大数据技术对教育数据进行了分析,其中包括学生行为的分析、学生成绩的分析、远程教育资源的分析和在线系统中师生的交互数据进行分析,得到了一些有价值的教学和教育决策的应用。本章采用吉林大学电子科学与工程学院 2002 年到 2010 年(除了 2005 年)的学生成绩作为输入数据集,结合 Hadoop 平台对其进行了统计分析以及发现了课程之间的关联规则,希望能为我的母校做一些贡献。

  4.1 实验环境介绍。

  本文通过在VMware workstation10.0.0上建立两台虚拟机来搭建Hadoop集群环境,其中一台作为 NameNode,另一台作为 DataNode.

  (1)搭建 Linux 系统。

  Hadoop 是开发在 Linux 平台上的,虽然在其它系统上也能运行,但是搭建的环境极为复杂,需要把原先的系统模拟成 Linux 环境才能使用 Hadoop,因此本文选择采用 Linux 系统。在 PC 机上安装了 VMware Workstation10.0.0,之后便可以搭建 Linux 系统了。图 4.1 是 Linux 版本信息。

  (2)Hadoop 平台的搭建。

  因为搭建的是集群环境,所以 Hadoop 采用完全分布式模式。

  在 Linux 上搭建 Hadoop 之前,需要安装两个程序:JDK 和 SSH(Secure Shell安全外壳协议)。

  ● JDK1.6 或更高版本,本文采用 JDK1.7Hadoop 是用 Java 开发的,Hadoop 的编译以及 MapReduce 的运行都需要使用 JDK.

  ● SSH(安全外壳协议)Hadoop 运行过程中需要管理远端 Hadoop 守护进程。在 Hadoop 启动后,NameNode 是通过 SSH 来与 DataNode 进行交互的。也就是说必须在节点之间通信的时候采用不需要输入密码的形式,故我们需要配置 SSH 运用无密码公钥认证。这样 NameNode 就可以在不输入密码的情况下管理 DataNode.同样原理,DataNode 上也能使无密码访问 NameNode.

  ● 从 Apache Hadoop 的发布页面下载 Hadoop(本文所使用的是 Hadoop-1.0.3),首先为 master 机器安装 Hadoop.

  ● 配置 Hadoop 环境变量:

  /etc/profile:添加 Hadoop 环境变量。

  conf/hadoop-env.sh:配置 Java 环境变量、和 Hadoop 环境变量等。

  conf/core-site.xml:用于定义系统级别的参数,如 Hadoop 的临时目录,配置NameNode 节点的 URI-统一资源标识符(包括协议,主机名称,端口号)。

  conf/mapred-site.xml:配置指定 MapReduce 的 JobTracker 的地址。

  conf/hdfs-site.xml:配置数据块副本的个数以及执行权限等。

  ● 通过 scp 命令将 master 上的 Hadoop 文件复制到 slave1 上,● 进入 master 的 Hadoop 安装目录,格式化 HDFS: bin/hadoop namenode -format运行 hadoop 进程:bin/start-all.shjps 查看进程启动情况,如图 4.2 所示(上面的图为 master 的节点信息,下面的图为 slave1 上的节点信息)。

  (3)Eclipse 配置Eclipse 是本文编写 MapReduce 程序的开发环境,方便调试 MapReduce 程序。

  Eclipse 版本:eclipse-jee-kepler-SR2-linux-gtk在 Eclipse 上配置 Hadoop 相关插件● 将 hadoop-1.0.3-eclipse-plugin.jar 复制到 eclipse 安装目录下。

  ● 配置 hadoop installation directory:选择 Hadoop 的安装目录。

  ● 配置 Map/Reduce Locations:添加 Location name、MapReduce Master 和 DFSMaster 的地址和端口。

  这样整个 Hadoop 分布式集群环境就搭建成功了。图 4.3 为 Hadoop 集群部署示意图。

  Master 管理 NameNode、SecondaryNamonode 和 JobTracker,slave1 管理DataNode 和 TaskTracker.

  4.2 数据预处理。

  大部分原始数据难免会存在某些数据记录的缺失和冗余等,为了保证结果的严谨性,很有必要对原始数据进行清洗;而将某些数据用特定的字符转换会方便程序的编写;本文将原始数据根据成绩的等级进行分类,这样的划分可以精准挖掘结果。基于以上三点本文的数据清洗过程如下:

  (1)清理无效数据数据中存在"-",空值等不合法的字符,这些数据并不存在任何意义。而针对学生成绩数据,其中的选修课程并不是所有的学生都会选择的,本文也不会采用这样的数据。

  (2)数据转换数据转换也就是用简单的字符代替课程名称,例如,本文采用不同的阿拉伯数字代表不同的课程名称。

  (3)数据规范化我们将学生成绩按照这样的标准划分:90 分以上为优秀,80--90 分为良好,70--80 分为中等,60--70 分为及格,60 分以下为不及格。

  4.3 基于学生成绩的统计分析。

  根据数据本身的特点,即我们首先采用趋势图分析,所使用的绘图工具是Gnuplot.Gnuplot[51]

  是一个可以在 Linux 下支持命令行模式绘图的软件,不仅图形漂亮,而且操作简单。

  本文所采用的数据是吉林大学电子科学与工程学院各专业从 2002 到 2010(除了 2005)年的保研成绩。这里需要说明的就是在我们所获取的保研成绩中,从 2006 年开始电子信息工程专业、电子科学与技术专业和微电子科学与工程专业三个专业的保研成绩不计入大四的成绩,而从 2009 年开始电子信息科学与技术专业和生物医学工程专业的保研成绩也不计入大四的成绩。原始数据格式(以2002 年电子信息工程专业为例)的部分。

  我们计算了各个专业的每个年级的排名与保研成绩相比上下波动±5 范围内的百分比。为了方便起见,在图中我们用英文缩写表示了一些名称,如 DG 表示电子信息工程专业、DK 表示电子科学与技术专业、DX 表示电子信息科学与技术专业、SY 表示生物医学工程专业、WD 表示微电子科学与技术专业。

  结论:由以上的图形可以看出,在排名波动±5 范围内,绿色(大二)的线一直在上面,红色(大一)的线一直在下面,在此,我们忽略大四的成绩,因此说明无论是哪个专业,电子科学与工程学院的学生大二的成绩排名与最后的保研排名最相关,而大一的成绩排名与最后的保研成绩最不相关。所以想要保研的同学需要更加努力学习大二的基础课程。

  4.4 MapReduce Apriori 在学生成绩分析中的应用。

  4.4.1 输入数据格式。

  根据 4.2 小节所述,我们将原始数据数据格式变换结果如图 4.10 所示,在这里我们还是以 2002 年电子信息工程专业的部分数据为例,符合分数要求的课程将以特殊符号代替(我们把所有的课程名称用不同的阿拉伯数字表示)减少占用空间。

  通过以上数据格式的转换后我们分别对各个专业成绩">=90"分、">=80"分和">=70"分的数据进行了关联规则处理,因为发现我们所选取的数据集中很少有 60 分以下的同学,也就是大部分的学生都经过了期末考试,因此并没有必要对 70 分以下的数据进行处理。

  4.4.2 分析结果。

  我们将处理后的结果按专业分类,结果如下:

  (1)微电子科学与技术专业。

  图 4.11 为标识符所代表的课程名称,图 4.12 为本算法在微电子科学与技术专业的应用结果,本文只选取了一些有代表性的结果,以下专业如同。

  结论:概率论与数理统计优秀的同学中有 66%的同学高等数学 AI 也优秀,但高等数学优秀的同学概率论与数理统计不一定优秀,比例只占了 47%;数字电子技术实验优秀的同学中有 60%的同学高等数学 AI 也优秀;而大部分模拟电子技术实验优秀的同学数字电子技术实验也优秀,同样数字电子技术实验优秀的同学模拟电子技术实验也优秀;(2)生物医学工程专业。

  图 4.13 为标识符所代表的课程名称,图 4.14 为本算法在生物医学工程专业的应用结果。

  结论:数字电子技术实验优秀的同学中有 60%的同学高等数学 AI 也优秀;概率论与数理统计优秀的同学中有 66%的同学高等数学 AI 也优秀;数字电子技术优秀的同学中有 75%的同学数字电子技术实验也优秀,所以理论课还是要好好学习的;而模拟电子技术实验优秀的同学数字电子技术实验也优秀,同样数字电子技术实验优秀的同学模拟电子技术实验也优秀。

  (3)电子信息科学与技术专业。

  图 4.15 为标识符所代表的课程名称,图 4.16 为本算法在电子信息科学与技术专业的应用结果。

  结论:高等数学 AI 优秀的同学中有 64%的同学数字电子技术实验也优秀;数字电子技术优秀的同学中有 79%的同学概率论与数理统计也优秀;而模拟电子技术实验优秀的同学数字电子技术实验也优秀,同样数字电子技术实验优秀的同学模拟电子技术实验也优秀。

  (4)电子科学与技术专业。

  图 4.17 为标识符所代表的课程名称,图 4.18 为本算法在电子科学与技术专业的应用结果。

  结论:大部分半导体物理学优秀的同学和电子功能材料和元器件也优秀,而大部分电子功能材料和元器件优秀的同学半导体物理学也优秀,并且比例都超过了 50%;高等数学 AI 优秀的同学中有 72%的同学数字电子技术实验也优秀;概率论与数理统计优秀的同学中有 81%的同学高等数学 AI 也优秀;而模拟电子技术实验优秀的同学数字电子技术实验也优秀,同样数字电子技术实验优秀的同学模拟电子技术实验也优秀。

  (5)电子信息工程专业。

  图 4.19 为标识符所代表的课程名称,图 4.20 为本算法在电子信息工程专业的应用结果。

  结论:高等数学 AI 优秀的同学中有 87%的同学数字电子技术实验也优秀;高等数学 AI 优秀的同学中有 83%的同学物理实验也优秀;概率论与数理统计优秀的同学中有 56%的同学高等数学 AI 也优秀;信号与系统优秀的同学中有 74%的同学高等数学也优秀;物理实验优秀的同学数字电子技术实验也优秀,而数字电子技术实验优秀的同学物理实验也很优秀。

  4.5 应用结果分析。

  根据实验结果,提出以下几条参考意见:

  高等数学和概率论与数理统计是两门非常重要的基础课,并且这两门课程相辅相成。然而我们发现各个专业普遍存在这样一种现象:概率论与数理统计优秀的同学中有一半以上的同学高等数学 AI 也优秀,但高等数学 AI 优秀的同学概率论与数理统计不一定优秀,通过查看课表我们知道大一和大二都有高等数学这门课,而概率论与数理统计是大二才上的课程,所以说如果把概率论与数理统计放在大一的课程中学生的学习效率会更高。

  而实验课是基于理论的基础,要想在实验课中获得优异的成绩,理论课的学习至关重要。但是实验课并不是完全依赖于理论课,如高等数学和概率论与数理统计这样的基础课也很重要,因为我们发现高等数学和概率论与数理统计成绩好的同学实验课表现的也很好。

  在电子科学与技术专业有这样两门课程:导体物理学以及电子功能材料和元器件,我们发现大部分半导体物理学优秀的同学和电子功能材料和元器件也优秀,而大部分电子功能材料和元器件优秀的同学半导体物理学也优秀,并且比例都超过了 50%.

  该学院大部分同学的动手能力较强,应加强理论课的教学。

  4.6 本章小结。

  本章主要的工作是应用Hadoop平台对吉林大学电子科学与工程学院2002年到 2010 年的数据做了分析,其中包括两个方面:一是用统计分析对整体学生成绩做了初步处理,发现最后的保研排名与大二的成绩排名最接近,这也从侧面反映出基础课程的重要性,有些学生只是注重专业课的学习因而会忽略基础课的学习;其二,我们用改进的 MapReduceApriori 算法对课程做了关联规则挖掘,发现如高等数学和概率论与数理统计等基础课程非常重要,直接影响未来专业课的学习。

返回本篇论文导航
相关内容推荐
相关标签:
返回:计算机应用技术论文