--- license: mit library_name: leap-kt tags: - knowledge-tracing - education - educational-data-mining - dktplus datasets: - algebra2005 - assist2009 - assist2012 - assist2015 - dbe_kt22 - ednet500 metrics: - auc - accuracy - f1 --- # leap-kt · DKTPLUS **DKTPLUS** — Part of [leap-kt-toolkit](https://github.com/LEAP-LAB-KUS/leap-kt-toolkit), a systematic re-implementation of published Knowledge Tracing models under one protocol. This repository holds **every fold of every dataset** this model has been run on, with the per-epoch training logs and the exact user split alongside the checkpoints. ## Protocol User-level 80/20 train/test split · **5-fold** cross-validation over the training portion · held-out fold as validation · early stopping patience 10 on validation AUC · max 200 epochs. Every cell in the project runs under identical settings; a cell that cannot is recorded as a documented failure rather than re-run under bespoke settings. ## Results | dataset | AUC | ACC | F1 | published reference | delta | |---|---|---|---|---|---| | `algebra2005` | **0.8195** ± 0.0008 | 0.8140 | 0.8842 | — | — | | `assist2009` | **0.7614** ± 0.0010 | 0.7376 | 0.8165 | — | — | | `assist2012` | **0.7323** ± 0.0002 | 0.7337 | 0.8268 | — | — | | `assist2015` | **0.7301** ± 0.0002 | 0.7520 | 0.8467 | — | — | | `dbe_kt22` | **0.7941** ± 0.0009 | 0.7944 | 0.8747 | — | — | | `ednet500` | **0.6649** ± 0.0027 | 0.6772 | 0.7852 | — | — | Per-fold values are in each dataset's `summary.json`. The mean is never reported without the spread — 0.75 ± 0.001 and 0.75 ± 0.09 are different claims. ## Why these numbers may differ from other reproductions Multi-concept questions are **not expanded into multiple rows**. Toolkits that do expand them place consecutive test positions carrying the same question and the same response, so a model is shown the answer one step before predicting it; on ASSIST2009 that is around 37% of positions and lifts DKT from a published ~0.75 to ~0.89 AUC. Here concepts are an extra axis on the interaction rather than extra rows, so the leak is not expressible and every interaction is scored exactly once. Cells carrying a published reference value are additionally leak-audited before release: train/test user disjointness, no window crossing the split boundary, exactly-once scoring, and a label-shuffle control that must collapse AUC to chance. Cells with no comparable published number rely on the structural guarantee above rather than on that audit. ## Files ``` /summary.json mean ± std and per-fold AUC /split.json the exact user partition, with a checksum /fold/checkpoint/ config.json + weights /fold/epochs.jsonl every epoch's train loss and validation metrics; each row carries its own model/dataset/fold /fold/run.json protocol and package version for that run ``` ## Provenance Produced by `leap-kt` at commit(s) `00f1c03`, `1ad8f67`, `f8dc2a0`.