预测学生成绩项目

本项目是根据学生在校园网上的原始数据(样本量约为25万条),经过数据清洗、分析,构造能够描述学生学习行为的数据特征指标,进而训练形成一个神经网络模型和一个支持向量机模型,以此模型来在测试集上预测学生在接下来的期末考试中是否合格,准确率分别为84%和85%。并且,做出可视化展示

该项目的具体说明如下:

  1. 本项目是以学生总分数Overall_grade 为目标进行分析和预测的,通过运行scores_proj.py文件可以得到results以及相应的可交互的可视化网页文件。
  2. 项目形成了几个数据分析的结果。”Correlations between final scores and viewing times of events.csv” 包含了学生浏览的某个项目的次数和学生期末考试分数的相关系数; “samples.csv” 包含了根据原始数据提取的描述学生学习情况的相关特征;”NN.h5″ 和 “SVM.m” 分别为基于特征所训练的神经网络模型和支持向量机模型,预测目标任务为学生期末考试综合分数是否超过40分,在测试集上的准确率分别为84%和85%。
  3. 在samples.csv文件中的特征定义分别为:Review_execrise_Raw:作业分;mid_score:期中考试分数;atdc_rate:出勤率;log_times:访问次数;log_std:访问次数标准差;cramming_fre:突击学习倾向,以期中或期末考试前一周登录次数对于总登录次数的比值为定义;Nt_td:夜晚学习倾向,以晚上7点后的登录次数对于总登录次数的比值为定义;web_td;电脑网页端学习倾向,以通过网页登录次数对于通过其他方式登录次数的比值为定义;fixed_td:固定地点学习倾向,以总登录次数对于不同IP地址的个数的比值为定义。
  4. 该可视化网页可以通过拖拽的方式进行局部的放大和缩小,点击每个图形的右上角的图例图标可以选择关注的数据。词云图和饼形图中的值为每个项目出现的次数;桑基图主要展示了学生人数在各个特征间的流动,图中的值是每个分组的学生人数,分组是按照等分分位数来划分的,“分组名称“1至“分组名称5“的值的顺序为从大到小,例如:” Overall_grade1”的边界值为[78.33, 98.52],”Overall_grade5”的边界值为[0.0, 41.68],具体数据如下:
特征分组分位数
Review_execrise_Raw[0.0, 63.84, 77.76, 88.42, 96.96, 100.0]
atdc_rate[0.04, 0.37, 0.58, 0.73, 0.88, 1.0]
log_times[0.0, 238.4, 364.8, 519.0, 676.2, 2233.0]
log_std[0.0, 9.44, 11.74, 14.45, 17.76, 74.14]
cramming_fre[0.0, 0.09, 0.14, 0.19, 0.26, 1.0]
Nt_td[0.0, 0.09, 0.16, 0.2, 0.28, 0.68]
web_td[0.0, 0.99, 1.0]
fixed_td[0.0, 7.81, 9.44, 11.53, 14.09, 40.0]
preview_fre[0.0, 0.03, 0.13, 0.82]
mid_score[0.0, 36.0, 48.0, 60.0, 72.0, 100.0]
Overall_grade[0.0, 41.68, 55.11, 66.47, 78.33, 98.52]