[比赛简介]Predict Student Performance from Game Play

比赛链接:https://www.kaggle.com/competitions/predict-student-performance-from-game-play/overview

比赛简介 

本次比赛的目标是实时预测学生在基于游戏的学习中的表现。您将开发一个在最大的游戏日志开放数据集之一上训练的模型。

您的工作将有助于推进对基于游戏的学习的知识追踪方法的研究。您将支持教育游戏的开发人员为学生创造更有效的学习体验。

学习意味着有趣,这就是基于游戏的学习的用武之地。这种教育方法允许学生在游戏框架内参与教育内容,使其愉快和动态。尽管基于游戏的学习正在越来越多的教育环境中使用,但可用于应用数据科学和学习分析原则来改进基于游戏的学习的开放数据集数量仍然有限。

大多数基于游戏的学习平台没有充分利用知识追踪来支持个别学生。知识追踪方法已经在在线学习环境和智能辅导系统的背景下开发和研究。但是,在教育游戏中,对知识追踪的关注却越来越少。

竞赛主办方Field Day Lab是威斯康星州教育研究中心的公共资助研究实验室。他们为许多主题和年龄组设计游戏,将当代研究带给公众,利用游戏数据来了解人们的学习方式。Field Day Lab对可访问性的承诺确保其所有游戏都是免费的,任何人都可以使用。该实验室还与学习机构实验室等非营利组织合作,该实验室专注于为社会公益开发基于学习的工具和计划的科学。

如果成功,您将使游戏开发人员能够改进教育游戏,并通过仪表板和分析工具进一步支持使用这些游戏的教育工作者。反过来,我们可能会看到对基于游戏的学习平台的更广泛支持。

评估方法

提交的作品将根据其 F1 分数进行评估。

对于测试集中的每个session_id/问题编号对,必须按照数据页中所述预测correct变量的二进制标签。

请注意,sample_submission.csv提供供您使用的还包括一个分组变量 session_level,该变量按会话和级别对问题进行分组。这由时序 API 自动处理,因此在进行预测时,您将无法访问此列。

时序 API 按级别顺序向你呈现问题和数据 - 级别段 0-4、5-12 和 13-22 分别按顺序提供,你将预测每个区段问题的正确性。

该文件应包含标头并具有以下格式:

session_id,correct
20090109393214576_q1,0
20090312143683264_q1,0
20090312331414616_q1,0
20090109393214576_q2,0
20090312143683264_q2,0
20090312331414616_q2,0
20090109393214576_q3,0
20090312143683264_q3,0
20090312331414616_q3,0
...

数据描述

  • 这场比赛使用了Kaggle的时间序列API,它是一种让参赛者在不知道未来数据的情况下处理时间序列数据的方法。测试数据会按照不同的关卡分组提供,每个关卡有一些问题。在每个关卡,您只能使用该部分之前的测试数据来预测。

  • 您需要使用训练数据和标签来构建模型。训练数据包含了每个游戏会话(session)中18个问题的相关信息,但不包括问题的答案,只有用户是否回答正确的结果。标签是用<session_id>_<question #>表示的,您需要预测correct列,即用户是否会回答正确。

  • 当您准备预测时,可以使用示例笔记本(notebook)来遍历测试数据,它们按照上述方式分为三个部分:0-4级、5-12级和13-22级,并以Pandas dataframe的形式呈现。您需要对每个部分的问题做出预测,并生成一个submission.csv文件来提交。

  • 注意,隐藏的测试集大约和训练集一样大;您应该预计它会花费比提供的三个测试样本更长的时间来运行。

  • 这场比赛还包括一个效率奖(Efficiency prize),它是用来评估参赛者模型在运行时间、内存使用和代码长度方面效率性能的指标。

### TensorFlow Inference模块中Predict函数的使用 在TensorFlow框架下,`inference`模块通常用于执行推断操作。对于从该模块导入并使用的`predict()`函数而言,其核心功能在于利用已训练完成的模型对新数据做出预测[^1]。 具体来说,在调用此函数之前需先加载预训练模型以及准备待测样本集。之后可通过如下方式实现基本调用: ```python from tensorflow.keras.models import load_model import numpy as np # 加载保存下来的模型文件 model = load_model('path_to_saved_model') # 假设X_test是我们要进行预测的新数据集 predictions = model.predict(X_test) print(predictions) ``` 上述代码片段展示了如何基于Keras接口下的Sequential模型对象来调用`predict()`方法,并获取最终输出结果。值得注意的是,这里并没有直接提到`inference`模块内的同名函数;实际上,在大多数情况下,开发者会更倾向于直接通过模型实例访问这一成员函数而非单独引入其他包。 当涉及到更为复杂的场景时,比如批量处理或者异步请求,则可能需要额外配置参数选项以满足特定需求。例如设置batch_size控制每次送入网络计算的数量大小,verbose调整进度条显示模式等。 关于`predict_classes()`和`predict_proba()`这两个已被弃用的方法,官方文档推荐统一采用`predict()`替代之。前者返回类别标签而后者给出概率分布向量,现在这些行为都可以通过适当解析`predict()`的结果获得相同效果。 #### 预测性能评估 为了更好地理解模型的表现情况,可以依据训练好的模型对未来可能出现的不同规模的数据集做推理时间等方面的性能测试。这有助于提前规划部署环境资源分配策略,确保线上服务稳定运行[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jiawen9

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值