纪律处分后预测高中考试成绩

数据挖掘 机器学习 Python 方法
2022-03-08 12:22:54

我对机器学习有点陌生,并且已经学会了使用 python 和各种包应用许多基本的回归和分类方法。然而,接近这个问题让我很难过。为了说明这个问题,我创建了一个虚构的场景,其中辅导员想要预测学生在纪律处分后的考试成绩。假设他们有可用的数据,如下面的模型:

训练数据

列定义:
学生 - 学生身份 #
性别 - 男/女
年龄 - 当前年龄
运动员 - 学生参加的运动(0-无,1-篮球,2-足球,3-足球)
在线 - 学生在线上课(0-否, 1-是)
Before_Disciplinary_Action_Scores - 他们在纪律之前的最后 n 个测试分数的序列(按日期顺序)
Disciplinary_Action - 采取行动顾问(0-无,1-指定导师,2-监护人会议,3-学习计划,4-不合格比赛)
After_Disciplinary_Action_Scores - 纪律后他们下一个 n 测试分数的序列(按日期顺序)

假设虚构的学校系统非常大,总共有大约 80k 条记录。所有学生在纪律处分之前/之后总共有 12 个测试分数,但测试分数的数量会根据给予纪律处分的时间而有所不同。为简单起见,您可以假设每周给出一门课程的分数。

我可以计算之前/之后的平均分数并创建一个相当好的分类模型,但我想更进一步并预测学科后分数。

我尝试使用 Prophet 和 LSTM 模型从时间序列方法预测结果不佳的后续分数,并且分数的不同数量使其变得困难。我可以看到围绕 Athlete、Transfer 和 Online 的功能是重要的组件,我尝试将它们添加为回归量,但这也失败了。我感谢您提供的任何指导。

2个回答

如果您的数据是正确的,那么我也看到了性别因素。我希望考虑到这一点,并将 Disp_action 作为分类变量(一种热编码)。
此外,尝试将一个字段中的前后动作分数作为输出变量。另一个字段可以简单地判断输出分数是操作前还是操作后。
这个特征工程,希望能给出更好的结果。

我认为您真的对预测新考试成绩感兴趣,而不是回答哪种干预方法最成功。如果不是这种情况,我们可以应用统计方法而不是机器学习模型。

一种方法是对齐测试分数序列(输入和输出),以使它们具有相同的长度和缺失值的 0。这会将您的数据转换为可提供给 LSTM 的常规 seq2seq 问题。现在每条记录都具有可比性。请记住,您的模型是根据其训练方式进行预测的。它将像这样预测缺失值(缺失测试)。

然后,您可以在所有 80k(减去验证集)序列上进行训练,或者应用窗口化来生成更多序列。

其他(一个热编码)特征也可以添加到每个样本中。开始或结束。