A Python implementation of the Bayesian Knowledge Tracing (BKT) model based on Corbett and Anderson's work (1995). BKT is a statistical model that aims to estimate a student's knowledge state through their pattern of correct and incorrect responses.
This implementation models the acquisition of student knowledge as described in:
Corbett, A. T.; Anderson, J. R. (1995). "Knowledge tracing: Modeling the acquisition of procedural knowledge". User Modeling and User-Adapted Interaction. 4 (4): 253–278.
See the Requirements
file for detailed dependencies.
- Clone this repository
- Install the required dependencies:
pip install -r Requirements
Run the main script
python run.py
The BKT model uses four parameters:
- Initial Knowledge (p(L₀)): Probability a student knows the skill before any practice
- Learning Rate (p(T)): Probability of transitioning from not knowing to knowing the skill
- Slip (p(S)): Probability of making a mistake despite knowing the skill
- Guess (p(G)): Probability of correctly answering despite not knowing the skill
Model parameters and runtime settings can be configured in config.json
.