未来人才培养与学术成绩预测

在当今这个信息爆炸的时代,教育和人才培养成为了人类社会未来发展的关键。学术成绩作为衡量学生表现的重要指标,不仅关系到个人的未来,也是教育机构管理和评估学生能力的重要工具。本文将探讨如何利用数据集来预测学生的数学成绩,并分析影响学生成绩的多种因素,包括社会和动机因素。

首先,需要了解数据集中的所有变量,以及哪些变量是预测目标所需的相关属性。数据集中包含了多个依赖和独立变量,这些变量展示了学术工作流程以及社会和动机影响因素。目标是预测未来的数学成绩及相关变量,以观察其交互作用。

在模型阶段,选择“数学成绩”作为目标变量,与所有剩余变量进行对比,以获得30%的数据分割,即70%用于训练,30%用于测试(未见过的数据)以提高预测准确性。可以看到,数学成绩受阅读和写作成绩的线性影响,表明擅长阅读和写作的学生也能以较好的速度学习数学。

机器学习阶段,首先使用标签编码器转换所有分类变量,以便机器学习模型更容易检测输入并给出输出。如下方代码所示,输入已经转换为机器学习算法可读的格式。将转换后的数据输入到Pycaret算法中,并得到模型推荐。

import missingno as mn mn.heatmap(df) # 根据上述关系填充缺失值。 # 可以看到缺失值并非随机分布。 import seaborn as sns from matplotlib import pyplot as plt sns.pairplot(df) from sklearn.preprocessing import OneHotEncoder, LabelEncoder # 对分类变量进行标签编码 encoder = LabelEncoder() df['gender'] = encoder.fit_transform(df[['gender']]) df['race/ethnicity'] = encoder.fit_transform(df[['race/ethnicity']]) df['parental level of education'] = encoder.fit_transform(df[['parental level of education']]) df['lunch'] = encoder.fit_transform(df[['lunch']]) df['test preparation course'] = encoder.fit_transform(df[['test preparation course']])

可以看到变量之间的线性关系,尤其是数学与阅读和写作的关系。使用Pycaret检查方法。让开始吧。

!pip install pycaret !pip install markupsafe==2.0.1 X = df y = df['math score'] from pycaret.anomaly import * # 将数据分为30%的分割,即70%用于训练,30%用于测试 data = X.sample(frac=0.70, random_state=700) data_unseen = X.drop(data.index) data.reset_index(drop=True, inplace=True) data_unseen.reset_index(drop=True, inplace=True) exp_ano101 = setup(data, normalize=False, session_id=123, log_experiment=False) models()

在模型选择中,测试了局部异常因子(Local Outlier Factor)、单类支持向量机(One-class SVM)和主成分分析(PCA)。选择PCA作为最佳的预测方法,因为数据显示在PCA中拟合度最好,并且考虑了异常值。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485