基于智慧校园生态体系的历年普通本科录取分数数据分析系统的设计与实现

2024-06-16 12:58刘海石悦薛奕飞张鹏阳王立新
电脑知识与技术 2024年12期
关键词:录取分数链表预处理

刘海 石悦 薛奕飞 张鹏阳 王立新

关键词: 高考录取分数分析;Hadoop伪分布式集群;PySpark;PyEcharts

0 引言

近年来,大学转专业的现象愈发普遍,大学生因专业问题导致的学习困扰也时有发生,专业与学生之间的匹配度逐渐受到关注[1]。我国高考目前普遍采取的高考录取政策是个人志愿与专业调剂相结合的方式。在此过程中,常存在两方面问题:一是部分考生在报考时,由于对大学专业缺乏足够了解,受到就业、亲友推荐等主客观因素影响,忽略个人特长和兴趣,盲目选择所谓“适合”的专业;二是考生在填报志愿时,往往更看重院校知名度而非专业喜好,更倾向于选择热门专业而非真正喜爱的专业。这导致一些分数达到目标学校但未达到所报专业的考生,为求录取而接受调剂到其他专业。

兴趣是最好的老师。进入大学后,部分学生发现所学专业与个人兴趣或特长存在较大差异。能转专业的学生尚可重拾兴趣,但无法转专业的学生往往会在学习过程中遭遇负面问题。为解决此类问题,须使学生在高考选专业前对大学专业有科学、正确的认识。近年来,随着大数据技术的飞速发展,我国高校正积极推进数字化转型,通过引入先进技术,提升教育管理效率和质量[2]。作为高考录取方,高校可利用智慧校园生态体系的大数据技术,解决录取数据繁杂的问题,为考生提供直观、简洁的高考数据参考,从而科学指导考生精准报考。

1 系统需求分析

在进行系统设计之前,需首先进行需求分析,即根据现有研究背景与现状,确定系统所需满足的功能需求[3]。一方面,考生在填报志愿时,对院校了解不足,希望深入了解目标院校的招生情况,如特色专业、历年录取数据、专业变动及录取趋势等。然而,院校提供的录取数据往往原始且繁杂,考生难以从中获取有效信息。另一方面,作为智慧校园建设的一环,院校也希望通过分析往年录取信息,制定更合理的招生计划,并更好地展示自身专业特色。本系统以安阳师范学院历年普通本科录取数据为例,进行大数据处理、分析及可视化呈现,旨在帮助考生快速了解院校往年录取情况,并为院校制定招生计划提供数据支持。

2 系统可行性分析

本系统计划用的开发环境对计算机硬件要求并不高,都可以在普通电脑上部署。系统计划使用Py?thon语言进行开发,Python语言开源免费,并且也提供了可以直接在开发工具上下载就可以满足系统依赖的丰富开源库。因此,本系统在经济方面是可行的,无须花费太多资金,但需要付出一定的时间成本。

Linux操作系统安全可靠,稳定性强,操作简单,是本系统首选的开发环境和集成环境。在Linux操作系统中安装Hadoop提供的HDFS伪分布式文件存储系统用来存储数据,安全可靠。Spark部署简单,稳定可靠,Python版本PySpark支持Python语言。综上所示,本项目在技术层面实现难度不大,可行性很强。

从操作方面来看,本平台前端采用了交互性较强的Web界面,操作简单、直观,对使用者的技术要求不高[4]。后端Ubuntu 16.04作为一个以桌面应用为主的Linux操作系统,界面简单,在支持shell命令的同时,图形化的界面使用起来也更加方便快捷。在Ubuntu16.04上安装PyCharm-2021.3.2开发工具供系统开发使用。PyCharm作为流行的Python开发工具,界面简洁,操作简单易上手。Hadoop分布式系统安装方便,提供HDFS分布式存储组件,只用了解常规的命令即可完成海量数据的存取,而无须了解其构造原理,不仅操作简单,而且安全可靠。

3 系统设计与实现

3.1 系统数据处理流程设计

对于一个完整的大数据系统开发而言,按照数据的流向来划分,本系统主要涉及数据采集,数据存储和预处理、数据分析、数据可视化4个部分。本系统首先通过Python爬虫技术从安阳师范学院招生官网获取源数据,然后将爬取到的源数据通过Pandas进行预处理。接着将清洗好的干净数据以CSV文件的形式上传到HDFS分布式文件存储系统中,以免文件丢失或损坏。数据分析阶段可以使用PySpark工具直接读取HDFS内的干净数据进行RDD编程分析。在大数据数据处理方面,目前的大数据处理框架较多,之所以选择Spark,是因为Spark的设计遵循“一个软件栈满足不同应用场景”的概念,并逐渐形成一个完整的生态系统[5],并且Spark框架与分布式文件存储系统HDFS具有良好的兼容性,因此可以使用大数据处理框架技术Spark完成录取分数数据的处理与分析。同样,我们也将分析结果导出到CSV文件后存入HDFS 内,安全可靠。最后将分析后的数据从HDFS中读取后,使用PyEcharts工具进行可视化展现。为了更清楚本系统架构,本系统架构设计图如图1所示。

3.2 系统功能设计

录取数据分析系统主要分为5块,分别为数据采集、数据预处理、数据分析、数据存储和数据可视化。图2为系统功能模块图。

3.2.1 数据采集模块

在数据采集模块,系统使用的方法是比较流行的网络爬虫技术。使用Python 的Requests 库中的re?quests方法模拟浏览器向目标网页发送请求以获取网页源代码。然后在浏览器中进入开发者模式分析网页结构,确定数据位置,最后利用Beautifulsoup库中方法创建Beautifulsoup对象用来解析网页源代码。由于系统需要爬取多个网页信息,所以将用到的Requests 方法和Beautifulsoup中的方法封装在Spider类中以方便使用。接着创建data链表作为容器,将爬取到的学院历年专业名称、科类、年份、最高分、最低分、平均分以及部分年份的招生计划人数和实录人数等信息存入data链表。最后将data链表传入数据预处理模块进行加工。

3.2.2 数据预处理模块

数据预处理模块是将数据采集来的数据进行规范化、格式化、整齐化的模块。接收到数据采集模块传来的data链表后,将多余的数据过滤掉,只保留专业名称、科类、年份、最高分、最低分、平均分6个属性。将每行数据重新整合为以这6个属性为Key,以实际数据为Value的键值对的链表存入事先创建好的cleandata链表中,最后利用CSV库中的writerows() 方法将cleandata链表写入CSV文件中。处理完成后系统要将得到的全部数据的CSV文件存入HDFS分布式文件系统以防丢失或者损坏。

3.2.3 数据分析模块

本系统的数据分析模块主要依靠PySpark第三方库来完成,通过RDD编程能够更加高效,快速地计算分析。数据分析时候,需要先将已经预处理后的数据从分布式文件系统中读取后,创建一个最初的RDD,然后再利用这个RDD进行一系列包含行动和转化操作的RDD编程来分析本校热门专业历年平均分变化趋势、近年新开大数据专业的各项录取分数详细数据、录取平均分数最高的专业数据等。利用createOr?ReplaceTempView()方法来创建临时表,然后利用spark.sql()方法编写SQL语句完成同专业文理录取分数对比数据,单招文科考生或者理科考生的专业数据分析,录取最高分与最低分差值较大的专业数据分析等。最后利用Pandas库中的方法将结果导出到CSV 文件后存入HDFS。

3.2.4 数据存储

本系统的数据以CSV 的格式存储。Python 的CSV模块提供了一系列针对CSV文件的方法,为系统进行数据转化提供了便利,这种存储方式可以大大提升开发速度和效率。在完成数据预处理后,系统将干净的所有数据存储为CSV文件以供数据分析使用。在数据分析之前,系统会将数据存入HDFS,以保证数据的安全。HDFS具有高容错性、高可靠性、部署廉价等特性。系统的数据及衍生数据都会存储到里面,以保证数据的安全,防止数据丢失。

3.2.5 数据可视化

最后的数据可视化模块系统主要使用PyEcharts 库。这是非常重要的模块,也是用户会直接接触看到的模块,系统在这个模块会将数据分析得到的数据以图形化的方式展现给用户,这就考验我们对数据格式的了解及可视化手段的运用。PyEcharts官方网站提供了多样的图表类型以及修改方法,可以对比其中合适的图表示例来可视化系统的结果数据。比如本校热门专业历年平均分变化趋势可以用折线图的方式呈现,凸显变化趋势,大数据专业的各项录取分数详细数据以柱状图的方式呈现能使数据更加清晰,录取平均分数最高的专业数据以柱状图的方式呈现更能展现分数差距。录取最高分与最低分差值较大的专业数据以漏斗图的方式展现能使用户更直观地了解专业录取情况等。无论是柱状图、折线图还是饼图,我们要根据数据来选择可视化方式才能凸显数据重点以及数据特性。另外,不同颜色以及形状也是可视化的重要手段。

3.3 系统数据可视化

数据可视化的作用在于提升人们对数据的分析利用程度,通过改变数据的表现形式,提高数据的利用率[6]。通过数据可视化中的柱状图、散点图、雷达图和热力图等图形化表达方式,可以更直观和清晰地把数据分析结果展示在人们眼前,给人们以更加直观和规律化的展示。目前各大高校不同专业招生都有文理学科限制,有的专业只有文科生或者理科生才能报考。我们这里也利用词云图为考生展示了只招文科或者理科考生的专业名称以及其对应的平均分词云图,如图3所示。从图3可以看出,安阳师范学院只招收文科或者理科的专业词云图中,词条前一部分为专业名称,后一部分为学科。其中,词号越大,代表专业对应的平均分越高。

4 结束语

通过对大量冗余数据进行快速、准确和多样化的分析与展示,大数据技术为各行各业提供了丰富的洞察和决策支持。作为智慧校园生态体系建设的一部分,本系统通过使用大数据技术中的Spark框架对安阳师范学院历年普通本科录取数据进行了系统分析,深入地挖掘了数据潜在的应用和研究价值。系统的实现可以帮助很多高考考生在填报志愿之前了解更多安阳师范学院的录取信息,作为高校方面的安阳师范学院也可以展现院校招生特点和专业特色以吸引生源。系统在其他高校进行推广后,也可以帮助考生了解其他院校的相关录取信息和展现其他高校的专业特色,真正实现学生兴趣、高考分数和录取专业相匹配的目的。

猜你喜欢
录取分数链表预处理
K-Means聚类分析在高职高专院校招生中的应用
基于二进制链表的粗糙集属性约简
学在财校,终得成材
示范校建设对高职院校生源质量的影响
跟麦咭学编程
基于链表多分支路径树的云存储数据完整性验证机制
基于预处理MUSIC算法的分布式阵列DOA估计
浅谈PLC在预处理生产线自动化改造中的应用
基于数据挖掘技术的五年制高职录取
络合萃取法预处理H酸废水