利用机器学习和SHAP分析学生成绩影响因素

1.项目背景

学生的考试成绩受到多种复杂因素的共同影响,其中包括学习习惯、出勤率、家长参与、学校资源等多个方面。这些因素在不同的情境下对学生的学业表现产生直接或间接的作用,而理解这些因素的交互关系对于提升学生成绩至关重要,通过深入分析这些影响因素,教育工作者可以更有效地识别出关键的干预点,从而设计出有针对性的教育策略,同时,政策制定者也可以依据数据驱动的证据,为优化教育资源分配和改进教学质量提供科学依据。

本研究旨在综合运用多种数据分析方法,包括可视化分析、相关性分析和机器学习模型,全面探讨影响学生期末成绩的潜在因素,为了更精确地评估每个特征的重要性,还引入了 SHAP 解释模型,深入研究了模型中各因素对预测结果的贡献。这一系统化的分析框架不仅有助于揭示影响学生学业表现的关键因素,也为今后的教育研究提供了新的视角和方法。

2.数据说明

字段名说明
Hours_Studied每周学习的小时数
Attendance出勤率(上课出席的百分比)
Parental_Involvement家长参与程度(低,中,高)
Access_to_Resources教育资源的可用性(低,中,高)
Extracurricular_Activities课外活动参与情况(是,否)
Sleep_Hours每晚平均睡眠时间(小时)
Previous_Scores之前考试的分数
Motivation_Level学生的动机水平(低,中,高)
Internet_Access互联网接触情况(是,否)
Tutoring_Sessions每月参加辅导课的次数
Family_Income家庭收入水平(低,中,高)
Teacher_Quality教师质量(低,中,高)
School_Type学校类型(公立,私立)
Peer_Influence同伴对学业表现的影响(积极,中立,消极)
Physical_Activity每周平均体育活动时间(小时)
Learning_Disabilities学习障碍(是,否)
Parental_Education_Level父母的最高学历(高中,本科,研究生)
Distance_from_Home家到学校的距离(近,适中,远)
Gender学生性别(男,女)
Exam_Score期末考试成绩

3.Python库导入及数据读取

import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
from scipy.stats import spearmanr,pointbiserialr
from sklearn.model_selection import train_test_split,RandomizedSearchCV
from sklearn.metrics import mean_squared_error, r2_score,mean_absolute_error
from sklearn.ensemble import RandomForestRegressor
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVR
from scipy.stats import uniform, loguniform
import shap
data = pd.read_csv('/home/mw/input/data7665/StudentPerformanceFactors.csv')

4.数据预览及数据预处理

查看数据信息:

大部分字段是完整的,只有少量缺失值,那就直接删除确实的数据。

查看重复值:

0

查看分类特征的唯一值:

Parental_Involvement:
['Low' 'Medium' 'High']
--------------------------------------------------
Access_to_Resources:
['High' 'Medium' 'Low']
--------------------------------------------------
Extracurricular_Activities:
['No' 'Yes']
--------------------------------------------------
Motivation_Level:
['Low' 'Medium' 'High']
--------------------------------------------------
Internet_Access:
['Yes' 'No']
--------------------------------------------------
Family_Income:
['Low' 'Medium' 'High']
--------------------------------------------------
Teacher_Quality:
['Medium' 'High' 'Low']
--------------------------------------------------
School_Type:
['Public' 'Private']
--------------------------------------------------
Peer_Influence:
['Positive' 'Negative' 'Neutral']
--------------------------------------------------
Learning_Disabilities:
['No' 'Yes']
--------------------------------------------------
Parental_Education_Level:
['High School' 'College' 'Postgraduate']
--------------------------------------------------
Distance_from_Home:
['Near' 'Moderate' 'Far']
--------------------------------------------------
Gender:
['Male' 'Female']
--------------------------------------------------

可以看到有一位同学的成绩超过了100,但是根据之前的考试分数,没有超过100分的学生,因此认定该学生为异常值,直接将其成绩赋值为100。

5.描述性分析

5.1总述

  • Hours_Studied(每周学习的小时数):平均为 19.98 小时,标准差 5.99 小时,大多数学生每周学习 16-24 小时。
  • Attendance(出勤率):平均出勤率为 80.02%,大部分学生的出勤率集中在 70%-90% 之间。
  • Parental_Involvement(家长参与度):中等参与度最常见,占学生总数的 51%(3251 人)。
  • Access_to_Resources(教育资源的可用性):中等资源可用性最多,占学生总数的 50%(3204 人)。
  • Extracurricular_Activities(课外活动参与情况):约 60% 的学生参与课外活动。
  • Sleep_Hours(每晚平均睡眠时间):平均为 7 小时,标准差 1.47 小时,大部分学生每晚睡眠 6-8 小时。
  • Previous_Scores(之前考试的分数):平均分数为 75.07 分,标准差 14.4 分,学生的分数多集中在 63-88 分之间。
  • Motivation_Level(动机水平):中等动机水平最常见,占学生总数的 60%(3826 人)。
  • Internet_Access(互联网接触情况):约 70% 的学生接触互联网。
  • Tutoring_Sessions(每月参加辅导课的次数):平均为 2.97 次,大多数学生每月参加 2-4 次辅导课。
  • Family_Income(家庭收入水平):中等收入家庭最多,占 50%(3189 人)。
  • Teacher_Quality(教师质量):中等教师质量最多,占 60%(3826 人)。
  • School_Type(学校类型):公立学校学生最多,占 70%(4434 人)。
  • Peer_Influence(同伴影响):40% 的学生表示同伴影响积极。
  • Physical_Activity(每周平均体育活动时间) :平均为 3 小时,标准差 1.03 小时,大部分学生每周进行 2-4 小时的体育活动。
  • Learning_Disabilities(学习障碍):90% 的学生没有学习障碍。
  • Parental_Education_Level(父母的最高学历):高中学历的家长最多,占 50%(3159 人)。
  • Distance_from_Home(家到学校的距离):60% 的学生住得较近。
  • Gender(性别):男生略多于女生,占 58%(3688 人)。
  • Exam_Score(期末考试成绩):平均分数为 67.25 分,标准差 3.91 分,成绩集中在 65-69 分之间,最高 100 分。

5.2学生信息

  1. 性别比例略有差异,男生稍多于女生。
  2. 学习障碍不是普遍问题,但仍有一定数量的学生受到影响。
  3. 学习时间和睡眠时间的分布相对均衡,符合正常预期。
  4. 学生动机水平参差不齐,中等动机水平最为普遍。
  5. 大部分学生积极参与课外活动和体育活动。
  6. 互联网接入普及率高,但仍有改进空间。

5.3家庭情况

  1. 大多数家长对子女教育有中等程度的参与,表明家长普遍关注子女学习。
  2. 中低收入家庭占大多数。
  3. 父母教育水平以高中学历为主。
  4. 大多数学生居住地离学校较近,这可能有利于学生的学习和生活安排。

5.4学校方面

  1. 教育资源可用性总体呈现中上水平,但仍有改进空间。
  2. 公立学校是主要的教育提供者,占据了近70%的份额。
  3. 教师质量整体处于中等偏上水平。
  4. 大多数学生都有参加辅导课的习惯,但频率普遍不高。

5.5成绩表现

  1. 同伴影响整体偏向积极,说明良好的学习氛围可能普遍存在。
  2. 之前的考试成绩分布较为均匀,反映出学生之间存在一定的成绩差异。
  3. 期末考试成绩呈现典型的正态分布,大多数学生成绩处于中等水平。
  4. 与之前的考试成绩相比,期末考试成绩的分布更加集中。

6.期末考试成绩的影响因素分析

6.1可视化分析

6.1.1学生因素

学习障碍、学习时间、出勤率和互联网接触是影响成绩最显著的因素,其他因素影响不是特别显著。

6.1.2家庭因素

  1. 家长参与度是影响学生成绩最显著的家庭因素,高参与度能有效提高学生成绩。
  2. 父母学历对学生成绩也有较强影响,可能是因为高学历父母能提供更好的学习指导和资源。
  3. 家庭收入对学生成绩有轻微正面影响,但不如家长参与度和父母学历显著。
  4. 家校距离对成绩影响较小,但远距离可能会给学习带来一些不便。

6.1.3学校因素

  1. 教育资源可用性和教师质量是影响学生成绩最显著的学校因素,两者都与学生成绩呈现明显的正相关关系。
  2. 学校类型(公立vs私立)对学生成绩有一定影响,但不如其他因素显著。
  3. 适度参加辅导课对提高学生成绩有积极影响,但过多或过少都可能不利于成绩提升。

6.1.4以往成绩和同伴因素

  1. 同伴的积极影响对学生成绩有轻微的正面作用,但影响程度不如预期的显著,这表明同伴环境是重要的,但可能不是决定性因素。
  2. 学生的过往学习表现(如之前的考试成绩)是预测未来学习成果的强有力指标,这强调了持续性学习和保持学习动力的重要性。

6.2相关性分析

6.2.1数据处理

  • Low、Near、Negative、High School 编码为 -1。
  • No、Neutral、Moderate、Medium、College、Female、Public 编码为 0。
  • High、Yes、Far、Postgraduate、Male、Private、Positive 编码为 1。

6.2.2斯皮尔曼相关性分析

总的来说,出勤率和学习时间对考试成绩的影响最大,而教育资源、家庭因素(如父母参与和教育水平)、以及辅导等因素也显示出一定的正面影响,距离学校的远近显示出轻微的负面影响,睡眠时间似乎与考试成绩几乎无关。

6.2.3点二列相关性分析

学习障碍、课外活动参与和互联网接入是与考试成绩有显著相关性的因素,尽管相关性强度不高,学习障碍显示出最强的(负面)影响,其次是课外活动(正面影响)和互联网接入(正面影响),性别和学校类型与考试成绩没有显著的相关性。

7.随机森林回归模型

7.1数据预处理

剔除没有通过检验的变量,并且按73比例划分训练集和测试集。

7.2建立模型

随机森林回归模型预测效果:
Mean Squared Error (MSE): 5.674985997910135
Mean Absolute Error (MAE): 1.1312225705329153
R-squared (R2): 0.6266703626952383

7.3优化参数

输出最佳参数:

Best Parameters: {'n_estimators': 455, 
'min_samples_split': 2, 
'min_samples_leaf': 1, 
'max_features': 'log2', 
'max_depth': 70, 
'bootstrap': False}




优化参数后的随机森林回归模型预测效果:
Mean Squared Error (MSE): 5.393154732245961
Mean Absolute Error (MAE): 1.0394675794922104
R-squared (R2): 0.6452106664475816

8.支持向量回归模型

8.1数据预处理

SVR 对特征的尺度非常敏感,因此在使用 SVR 之前,通常需要对数据进行标准化或归一化处理,这里选择对划分后的数据进行标准化,这样可以保持相同的训练集和测试集。

8.2建立模型

SVR预测效果:
Mean Squared Error (MSE): 4.688423809356888
Mean Absolute Error (MAE): 0.648679813534189
R-squared (R2): 0.6915714750797993

8.3优化参数

Best parameters found:  
{'C': 2.3919452009737046, 
'degree': 4, 
'epsilon': 0.9330317754527828, 
'gamma': 0.0006835134006795407, 
'kernel': 'linear'}





优化参数后的SVR预测效果:
Mean Squared Error (MSE): 4.434697029450096
Mean Absolute Error (MAE): 0.5220043280835348
R-squared (R2): 0.7082629218520011

9.基于SHAP研究模型特征的重要性

9.1随机森林特征重要性

随机森林特征重要性:
                            特征       重要性
1                   Attendance  1.732329
0                Hours_Studied  1.148953
5              Previous_Scores  0.492615
3          Access_to_Resources  0.387297
2         Parental_Involvement  0.386220
8            Tutoring_Sessions  0.317330
13    Parental_Education_Level  0.184240
9                Family_Income  0.180905
11              Peer_Influence  0.169050
14          Distance_from_Home  0.154578
10             Teacher_Quality  0.127373
6             Motivation_Level  0.126565
4   Extracurricular_Activities  0.110735
12       Learning_Disabilities  0.052901
7              Internet_Access  0.043652

基于SHAP值分析,发现学生的个人努力(如出勤率和学习时间)是影响成绩的最关键因素。

9.2支持向量回归特征重要性

支持向量回归特征重要性:
                            特征       重要性
1                   Attendance  1.947242
0                Hours_Studied  1.390164
5              Previous_Scores  0.610903
2         Parental_Involvement  0.523522
3          Access_to_Resources  0.514573
8            Tutoring_Sessions  0.510994
13    Parental_Education_Level  0.344731
11              Peer_Influence  0.330042
9                Family_Income  0.321318
14          Distance_from_Home  0.295667
6             Motivation_Level  0.270901
4   Extracurricular_Activities  0.269369
10             Teacher_Quality  0.225006
7              Internet_Access  0.154966
12       Learning_Disabilities  0.134370

与随机森林模型得到的结果大体一致,都是个人努力和行为(如出勤率和学习时间)是影响学生成绩的最关键因素。

9.3两模型特征重要性对比

根据随机森林与支持向量回归的特征重要性对比图,两个模型虽然在特定特征上的权重有所差异,但都认同个人努力和行为(如出勤率和学习时间)是影响学生成绩的最关键因素。

10.总结

本项目从可视化分析相关性分析机器学习三个主要角度,深入探讨了影响学生期末成绩的因素,并基于 SHAP(SHapley Additive exPlanations)对随机森林和支持向量回归模型的特征重要性进行了对比分析。得出以下结论:

  1. 学生基本信息

    • 性别比例:男生略多于女生,整体差异不显著。
    • 学习障碍:尽管大多数学生没有学习障碍,但仍有部分学生受到影响。
    • 学习时间与睡眠时间:分布较为均衡,符合正常预期。
    • 学生动机:动机水平差异较大,以中等动机水平为主流。
    • 课外活动与体育活动:大多数学生积极参与课外活动和体育锻炼。
    • 互联网接入:普及率较高,显示出大部分学生具备良好的数字学习条件。
  2. 家庭情况

    • 家长参与:大多数家长对学生学习有中等程度的参与,表明家长普遍关注子女教育。
    • 收入水平:中低收入家庭占比最大。
    • 父母教育水平:以高中学历为主。
    • 居住距离:大多数学生离学校较近,这有助于更好地平衡学习与生活安排。
  3. 学校因素

    • 教育资源:整体资源可用性处于中上水平,但仍有提升空间。
    • 学校类型:公立学校是主要的教育提供者,约占学生的 70%。
    • 教师质量:总体处于中等偏上水平。
    • 辅导课参与:大多数学生都有参加辅导课的习惯,但频率较低。
  4. 成绩表现

    • 同伴影响:普遍积极,说明良好的学习氛围在大多数学生中存在。
    • 之前考试成绩:呈现较为均匀的分布,显示学生成绩存在一定差异。
    • 期末考试成绩:呈现典型的正态分布,大多数学生处于中等成绩水平。
  5. 期末考试成绩的影响因素分析

    • 主要影响因素:出勤率和学习时间对期末考试成绩有最显著的正向影响。
    • 其他正面因素:教育资源、家庭因素(如家长参与度和父母学历水平)以及辅导课也表现出积极的影响。
    • 负面影响因素:距离学校的远近对成绩有轻微的负面影响。
    • 无显著影响的因素:睡眠时间、学生性别和学校类型对成绩几乎没有显著影响。
  6. 随机森林回归与支持向量回归模型对比

    • 模型评估:支持向量回归模型在预测准确性上略优于随机森林模型。
    • SHAP 分析结果:尽管两个模型在特定特征的权重上有所不同,但一致认为出勤率和学习时间是影响学生成绩的核心因素。这与前期的分析一致,表明个人的学习行为与投入对成绩的影响最为关键。
    • 教育建议:基于此,教育工作者和政策制定者应着重提高学生的出勤率、增加有效的学习时间,同时提供必要的学习资源和家庭支持。其他潜在的影响因素也应得到重视,以采取更全面的方式来提升学生的学习成果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值