leap-kt-afm-2006 / README.md
Unggi's picture
leap-kt: 6 dataset(s), 138 files
4a89386 verified
|
Raw
History Blame Contribute Delete
2.93 kB
---
license: mit
library_name: leap-kt
tags:
- knowledge-tracing
- education
- educational-data-mining
- afm
datasets:
- algebra2005
- assist2009
- assist2015
- dbe_kt22
- ednet500
- statics2011
metrics:
- auc
- accuracy
- f1
---
# leap-kt · AFM
**AFM**
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.7150** ± 0.0006 | 0.7845 | 0.8718 | — | — |
| `assist2009` | **0.6167** ± 0.0007 | 0.6640 | 0.7874 | — | — |
| `assist2015` | **0.6511** ± 0.0005 | 0.7369 | 0.8465 | — | — |
| `dbe_kt22` | **0.7217** ± 0.0002 | 0.7750 | 0.8671 | — | — |
| `ednet500` | **0.5995** ± 0.0012 | 0.6537 | 0.7820 | — | — |
| `statics2011` | **0.7863** ± 0.0006 | 0.7928 | 0.8755 | — | — |
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.
Each published cell passed a leak audit before being recorded: train/test user disjointness, no window crossing the split boundary, exactly-once scoring, and a label-shuffle control that must collapse AUC to chance.
## Files
```
<dataset>/summary.json mean ± std and per-fold AUC
<dataset>/split.json the exact user partition, with a checksum
<dataset>/fold<k>/checkpoint/ config.json + weights
<dataset>/fold<k>/epochs.jsonl every epoch's train loss and validation metrics;
each row carries its own model/dataset/fold
<dataset>/fold<k>/run.json protocol and package version for that run
```
## Provenance
Produced by `leap-kt` at commit(s) `92091dd`.