Ranking List (Model training and evaluation are in progress ...)
KT1实验设置说明
- 预处理:序列长度固定为200。对于长度小于200的序列,使用0进行补齐;对于长度大于200的序列,将其截断为多条独立序列
- 划分数据集:使用分层随机(感觉序列长度和序列做题正确率)的方法随机选择20%的数据作为测试集,剩余数据使用5折交叉验证划分为训练集和验证集
- 调参数据集:在划分好的5折验证集基础上,每一折验证集随机选择20%数据,组成调参验证集,剩余数据作为调参训练集
- 模型训练:训练时从序列的第2个记录开始计算损失
- 模型挑选:使用early stop挑选模型,挑选的指标是AUC
- 结果汇报:5折模型在测试集上的平均性能
特殊说明
- 由于DisKT官方代码使用的数据处理方式和PyEdmine不一样,因此在PyEdmine实现DisKT过程中进行了特殊处理,模型代码有较大改动,无法完全保证PyEdmine中实现的DisKT无错
- CKT、AT-DKT和QDCKT均是基于论文进行复现,因此具体实现和官方代码(其中CKT和AT-DKT开源,QDCKT未开源)有所不同
- LBKT、DKTForget、LPKT、HDLPKT需要数据集提供不同的额外信息,例如时间信息,因此只有部分数据集上可以进行这几个模型的实验
- CKT、QIKT在部分数据集上会出现OOM(22G显存)
- 部分指标(例如question cold start、hard concept),由于是只挑选测试集中部分样本进行评估,所以出现挑选后的样本都为同一类的情况,该情况下AUC无法计算,为空
KT1实验设置说明
- 数据预处理:序列长度固定为2000。对于长度小于2000的序列,使用0进行补齐;对于长度大于2000的序列,截取前2000个记录,丢弃后面的数据
- 划分数据集:随机选择20%数据作为测试集,剩余数据中按照7:3的比例划分训练集和验证集
- 模型训练:训练时从序列的第2个记录开始计算损失
- 模型挑选:使用early stop挑选模型,挑选的指标是AUC
- 结果汇报:用5个不同随机种子(0~4)所训练模型在测试集上的平均性能
特殊说明
- 由于算力有限,只在部分数据集上进行了部分模型的实验
CD实验设置说明
- 数据预处理:过滤掉长度小于10的序列。特殊处理,对于SLP数据集,只使用期末测验数据,不使用平时练习数据(更符合认知诊断的任务设定)
- 数据集划分:在每个学生的记录中随机挑选20%数据作为测试集,剩余数据使用5折交叉验证划分为训练集和验证集
- 调参数据集:在划分好的5折验证集基础上,每一折验证集随机选择20%数据,组成调参验证集,剩余数据作为调参训练集
- 模型挑选:使用early stop挑选模型,挑选的指标是AUC
- 结果汇报:5折模型在测试集上的平均性能
特殊说明
- HierCDF在部分数据集上会出现OOM(22G显存)
ER实验设置说明
- 使用KT1的测试集——记为KT1 test——实现离线习题推荐实验
- 为了能使用CD模型进行习题推荐,使用KT1的训练集和验证集,加上ER的训练集和验证集,作为CD模型的训练集和验证集
- 数据集划分:KT1 test中每条序列的前70%数据作为训练集,后30%数据作为测试集
- 模型挑选:使用early stop挑选模型,挑选的指标是top n OFFLINE_NDCG的平均值
- 结果汇报:用5个不同随机种子(0~4)所训练模型在测试集上的平均性能
特殊说明
- KG4EX中的PKC在assist2017和slepemapy-anatomy上效果非常差,因此未在这两个数据集上进行复现
LPR1实验设置说明
- 使用KT1的调参训练集、调参验证集和测试集作为LPR1的训练集、验证集和测试集
- 数据集划分:KT1中每条序列的前70%数据用于初始化学生知识状态,后30%数据所设计到的知识点作为目标知识点集合S,LPR1的设置是单目标场景
- 模型挑选:使用early stop挑选模型,挑选的指标是step n NRPR的平均值
- 结果汇报:用5个不同随机种子(0~4)所训练模型在测试集上的平均性能
特殊说明
- 由于算力有限,LPR任务未进行调参,本表格汇报的是使用一套默认参数跑出来的结果