All Projects → jhljx → GKT

jhljx / GKT

Licence: MIT License
Graph-based Knowledge Tracing: Modeling Student Proficiency Using Graph Neural Network

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to GKT

time series clustering via community detection
Code used in the paper "Time Series Clustering via Community Detection in Networks"
Stars: ✭ 27 (-37.21%)
Mutual labels:  time-series
kotori
A flexible data historian based on InfluxDB, Grafana, MQTT and more. Free, open, simple.
Stars: ✭ 73 (+69.77%)
Mutual labels:  time-series
magi
📈 high level wrapper for parallel univariate time series forecasting 📉
Stars: ✭ 17 (-60.47%)
Mutual labels:  time-series
questdb.io
The official QuestDB website, database documentation and blog.
Stars: ✭ 75 (+74.42%)
Mutual labels:  time-series
rbcb
R interface to Brazilian Central Bank web services
Stars: ✭ 63 (+46.51%)
Mutual labels:  time-series
HistoricalVolatility
A framework for historical volatility estimation and analysis.
Stars: ✭ 22 (-48.84%)
Mutual labels:  time-series
gmwm
Generalized Method of Wavelet Moments (GMWM) is an estimation technique for the parameters of time series models. It uses the wavelet variance in a moment matching approach that makes it particularly suitable for the estimation of certain state-space models.
Stars: ✭ 21 (-51.16%)
Mutual labels:  time-series
pyfilter
Particle filtering and sequential parameter inference in Python
Stars: ✭ 52 (+20.93%)
Mutual labels:  time-series
wxee
A Python interface between Earth Engine and xarray for processing time series data
Stars: ✭ 113 (+162.79%)
Mutual labels:  time-series
modape
MODIS Assimilation and Processing Engine
Stars: ✭ 19 (-55.81%)
Mutual labels:  time-series
barrage
Barrage is an opinionated supervised deep learning tool built on top of TensorFlow 2.x designed to standardize and orchestrate the training and scoring of complicated models.
Stars: ✭ 16 (-62.79%)
Mutual labels:  time-series
COVID19
Using Kalman Filter to Predict Corona Virus Spread
Stars: ✭ 78 (+81.4%)
Mutual labels:  time-series
time-series-autoencoder
📈 PyTorch dual-attention LSTM-autoencoder for multivariate Time Series 📈
Stars: ✭ 198 (+360.47%)
Mutual labels:  time-series
Time-Series-Transformer
A data preprocessing package for time series data. Design for machine learning and deep learning.
Stars: ✭ 123 (+186.05%)
Mutual labels:  time-series
tsfile
THIS REPO HAS MOVED TO https://github.com/apache/incubator-iotdb. TsFile is a columnar file format designed for time-series data, which supports efficient compression and query. It is easy to integrate TsFile with your IOT big data processing frameworks.
Stars: ✭ 105 (+144.19%)
Mutual labels:  time-series
dts
A Keras library for multi-step time-series forecasting.
Stars: ✭ 130 (+202.33%)
Mutual labels:  time-series
Chronetic
Analyzes chronological patterns present in time-series data and provides human-readable descriptions
Stars: ✭ 23 (-46.51%)
Mutual labels:  time-series
battery-rul-estimation
Remaining Useful Life (RUL) estimation of Lithium-ion batteries using deep LSTMs
Stars: ✭ 25 (-41.86%)
Mutual labels:  time-series
models
Forecasting 🇫🇷 elections with Bayesian statistics 🥳
Stars: ✭ 24 (-44.19%)
Mutual labels:  time-series
Hurst-exponent-R-S-analysis-
Calculates the Hurst exponent of a time series based on Rescaled range (R/S) analysis.
Stars: ✭ 33 (-23.26%)
Mutual labels:  time-series

GKT

The implementation of the paper Graph-based Knowledge Tracing: Modeling Student Proficiency Using Graph Neural Network.

The architecture of the GKT is as follows:

Setup

To run this code you need the following:

  • a machine with GPUs
  • python3
  • numpy, pandas, scipy, scikit-learn and torch packages:
pip3 install numpy==1.17.4 pandas==1.1.2 scipy==1.5.2 scikit-learn==0.23.2 torch==1.4.0

Note that don't use pandas with 0.23.4 version, because it will cause bugs when perform the following command in the processing.py file.

df.groupby('user_id', axis=0).apply(get_data)

If you use 'assistment_test15.csv' file to test, then in pandas 0.23.4 version, after groupby users, it will return 16 students. But if you use pandas in 1.x version, it will return 15 students. (This bug is found by vinnnan)

Training the model

Use the train.py script to train the model. To train the GKT model on ASSISTments2009-2010 skill-builder dataset, simply use:

python3 train.py --data-file=skill_builder_data.csv --model=GKT --graph-type=Dense

We also provide the baseline, i.e. Deep Knowledge Tracing(DKT) for performance comparison. To train the DKT model on ASSISTments2009-2010 skill-builder dataset, simply use:

python3 train.py --data-file=skill_builder_data.csv --model=DKT

You might want to at least change the --data_dir and --save_dir which point to paths on your system to save the knowledge tracing data, and where to save the checkpoints.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].