All Projects → lccasagrande → Deep-Knowledge-Tracing

lccasagrande / Deep-Knowledge-Tracing

Licence: MIT license
An implementation of the Deep Knowledge Tracing (DKT) using Tensorflow 2.0

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Deep-Knowledge-Tracing

Introduction-to-Computer-Vision
Introduction to Computer Vision (Udacity Course)
Stars: ✭ 67 (-12.99%)
Mutual labels:  udacity-nanodegree
udacity-cvnd-projects
My solutions to the projects assigned for the Udacity Computer Vision Nanodegree
Stars: ✭ 36 (-53.25%)
Mutual labels:  udacity-nanodegree
Data-Analyst-Nanodegree
This repo consists of the projects that I completed as a part of the Udacity's Data Analyst Nanodegree's curriculum.
Stars: ✭ 13 (-83.12%)
Mutual labels:  udacity-nanodegree
SAComputerVisionMachineLearning
Computer Vision and Machine Learning related projects of Udacity's Self-driving Car Nanodegree Program
Stars: ✭ 36 (-53.25%)
Mutual labels:  udacity-nanodegree
Udacity Nanodegrees
🎓 List of Udacity Nanodegree programs with links to the free courses in their curricula
Stars: ✭ 5,893 (+7553.25%)
Mutual labels:  udacity-nanodegree
Udacity-Computer-Vision-Nanodegree
📷 Computer Vision Nanodegree Repository
Stars: ✭ 34 (-55.84%)
Mutual labels:  udacity-nanodegree
udacity-fsnd
Udacity Full Stack Web Developer Nanodegree program (FSND) course materials
Stars: ✭ 66 (-14.29%)
Mutual labels:  udacity-nanodegree
UDACITY-Deep-Learning-Nanodegree-PROJECTS
These are the projects I did on my Udacity Deep Learning Nanodegree 🌟 💻 💻. 💥 🌈
Stars: ✭ 18 (-76.62%)
Mutual labels:  udacity-nanodegree
Intro-to-Self-Driving-Cars
Self driving cars of udacity
Stars: ✭ 44 (-42.86%)
Mutual labels:  udacity-nanodegree
pytorch-SAKT
a simple pytorch implemention of paper A Self-Attentive model for Knowledge Tracing
Stars: ✭ 29 (-62.34%)
Mutual labels:  knowledge-tracing
Deep-Learning
It contains the coursework and the practice I have done while learning Deep Learning.🚀 👨‍💻💥 🚩🌈
Stars: ✭ 21 (-72.73%)
Mutual labels:  udacity-nanodegree
MyReads
📚 MyReads is @udacity React Nanodegree Project. This is a book tracking app allows you to select and categorize books you have read, are currently reading, or want to read. The project emphasizes using React to build the application and provides an API server and client library that it should be persisted information as user’s interacts with th…
Stars: ✭ 13 (-83.12%)
Mutual labels:  udacity-nanodegree
Boston-House-Price-Prediction
This repository contains files for Udacity's Machine Learning Nanodegree Project: Boston House Price Prediction
Stars: ✭ 45 (-41.56%)
Mutual labels:  udacity-nanodegree
udacity-iOS-nanodegrees
List of iOS Udacity Nanodegree programs with links to the free courses in their curricula
Stars: ✭ 52 (-32.47%)
Mutual labels:  udacity-nanodegree
FlyingCarUdacity
🛩️⚙️ 3D Planning, PID Control, Extended Kalman Filter for the Udacity Flying Car Nanodegree // FCND-Term1
Stars: ✭ 16 (-79.22%)
Mutual labels:  udacity-nanodegree
Image-Classifier
Final Project of the Udacity AI Programming with Python Nanodegree
Stars: ✭ 63 (-18.18%)
Mutual labels:  udacity-nanodegree
Nano-Degree-Projects
🎓 Udacity Nano Degree Android Projects. All Needed projects you can check out my work here. Submitted and accepted projects.
Stars: ✭ 68 (-11.69%)
Mutual labels:  udacity-nanodegree
Self-Driving-Car-Steering-Simulator
The aim of this project is to allow a self driving car to steer autonomously in a virtual environment.
Stars: ✭ 15 (-80.52%)
Mutual labels:  udacity-nanodegree
FCND-Term1-P3-3D-Quadrotor-Controller
Udacity Flying Car Nanodegree - Term 1 - Project 3 - 3D Quadrotor Controller
Stars: ✭ 31 (-59.74%)
Mutual labels:  udacity-nanodegree
Udacity
This repo includes all the projects I have finished in the Udacity Nanodegree programs
Stars: ✭ 57 (-25.97%)
Mutual labels:  udacity-nanodegree

Deep-Knowledge-Tracing Build Status Coverage Status

This repository contains my implementation of Deep Knowledge Tracing for the Udacity's Capstone Project.

Overview

The objective is to predict the probabilities of a student correctly answering a problem not yet seen by him. To this end, we train the model using the ASSISTments Skill-builder data 2009-2010 public dataset.

Requirements

You'll need Python 3.7 x64 and Tensorflow 2.0 to be able to run this project.

If you do not have Python installed yet, it is recommended that you install the Anaconda distribution of Python, which has almost all packages required in this project. You can also install Python 3.7 x64 from here.

Tensorflow 2.0 is installed along with the project. Check the instructions below.

Instructions

  1. Clone the repository and navigate to the downloaded folder.

    git clone https://github.com/lccasagrande/Deep-Knowledge-Tracing.git
    cd Deep-Knowledge-Tracing
  2. Install required packages:

    • If you want to install with Tensorflow-CPU, type:

      pip install -e .[tf]
    • Otherwise, if you want to install with TensorFlow-GPU follow this guide to check the necessary NVIDIA software. After that, type:

      pip install -e .[tf_gpu]
  3. Navigate to the examples folder and:

    • Run the notebook:

      jupyter notebook DKT.ipynb
    • Run the python script:

      python run_dkt.py
  4. [Optional] Analyse the results with tensorboard:

    tensorboard --logdir=logs

    alt text

Custom Metrics

To implement custom metrics, first decode the label and then calculate the metric. This step is necessary because we encode the skill id with the label to implement the custom loss.

Here's a quick example:

import tensorflow as tf
from deepkt import data_util

def bin_acc(y_true, y_pred):
    true, pred = data_util.get_target(y_true, y_pred)
    return tf.keras.metrics.binary_accuracy(true, pred, threshold=0.5)

dkt_model.compile(optimizer='rmsprop', metrics=[bin_acc])

Take a look at deepkt/metrics.py to check more examples.

Custom Datasets

To use a different dataset, you must be sure that you have the following columns:

  • user_id: The identifier of the student.
  • skill_id: The identifier of the skill of the question.
  • correct: The answer to the question [0, 1].

Support

If you have any question or find a bug, please contact me or open an issue. Pull request are also welcome.

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].