A general purpose, multi-dimensional skill tracing algorithm.
Project description
graaftel_python
This is a python translation of Graaftel algorithm by N.A. Taatgen. See here for the original Swift implementation: https://github.com/ntaatgen/ELO
To train new data:
-
create a new Model object by calling Model(). Perhaps called 'm'.
-
Initiate model with new data by calling the method m.init_model(data). Passing a path to a CSV file to data is required here. Other parameters if different from the default should be set at this time.
-
Run the method m.run_training()
To load a model and optinally train further, perhaps with new data of the same students with new questions or the same questions with new students.
-
create a new Model object by calling Model(). perhaps called 'm'.
-
load previously trained model by calling the method m.load_model(model, data). Parameters 'model' and 'data' are required. Other parameters will be loaded from the model file, but can be optionally set here. Note that these should be set at this time if new parameters are needed.
-
Run method m.run_training() if more training is needed.
To get ratings for one student (assumes a model 'm' has been trained and/or loaded):
-
If student already exists in the model, simply run m.update_student_rating(name, item, score), by providing the name of the
student, the question item, and the score they obtained. A new record will be added to the list of scores and the student's skills will be updated. -
If it is a new student with no previous scores, first run m.new_student(name). Then run step 1 above.
Other Functions:
Model object 'm', that has been trained, can be passed to these other functions from GraafTel:
-
make_nodes(model, graph=False) Pass the model object m to generate nodes and edges, optionally set graph to True to plot a basic graph.
-
calculate_error(model, student=None) This computes the error of the predicted score (actual score - predicted score) for all the questions in the model for all students. If student is set to a student ID, the predicted error for that student only is returned.
-
Get_recommendations(model, student=None) This returns the Id's and predicted scores of all the questions that fall with-in the range of "acceptable difficulty" for the student. If student is set to an Id, only that student's recommended questions are returned.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file graaftel-1.0.1.tar.gz.
File metadata
- Download URL: graaftel-1.0.1.tar.gz
- Upload date:
- Size: 21.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68b2b2d2c744884f501783c00d39472d78a9bbad097713b06e73412242848316
|
|
| MD5 |
ed31b4adbfaaf47e2fb95a11a4384ff6
|
|
| BLAKE2b-256 |
df7199575fb7c0bc74dee3eefdbce13600d93cb7489d6e2660c3e230371ec5a3
|
File details
Details for the file graaftel-1.0.1-py3-none-any.whl.
File metadata
- Download URL: graaftel-1.0.1-py3-none-any.whl
- Upload date:
- Size: 22.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e754460f87e0973a74bc4a5174bf30e57b240d27a16553d87005695292b81343
|
|
| MD5 |
38c9361da36d872fb65cdd323362ef4e
|
|
| BLAKE2b-256 |
a9b2d00aa1d5780b971dae04951661ed422775b0152c4957e069e7a5da745ccb
|