Skip to content

boostcampaitech4lv23recsys2/level2_dkt_recsys-level2-recsys-08

Repository files navigation

Deep Knowledge Tracing

image

Contents


🏆️ 프로젝트 개요

DKT는 Deep Knowledge Tracing의 약자로 이번 DKT 프로젝트를 통해 저희는 "지식 상태"를 추적하는 딥러닝 방법론을 사용하여 학생의 이해도를 측정하고 미래 학습 예측을 목표로 하였습니다.

dkt_image


💻 활용 장비

  • 개발환경 : vscode, Jupyter
  • 개발 언어 : Python (Pytorch)
  • GPU : V100
  • 협업툴 : GitHub, Wandb, MLflow
  • 의사소통툴 : Slack, Notion, Zoom, Trello, Gather Town

🗓️ 프로젝트 수행 기간

  • 2022.11 ~ 2022.12

🙋🏻‍♂️🙋🏻‍♀️ 팀 소개 및 역할

정의준 채민수 전해리 이나현 조원준
전체 문제 정의, 계획 수립, 목표 설정, EDA, Feature Engineering, 모델 실험
정의준 TabNet, wandb, Feature Selection, Stacking Ensemble
채민수 SAKT 구현, CatBoost 구현, Feature Selection
전해리 lightGCN+lqTransfomer 구현, lightGCN+Seq model 구현, Feature Selection
이나현 LastQuery Transformer 구현, Feature Selection
조원준 CV Strategy, LGBM, XGBoost, MLflow, Feature Selection, Feature Importance, Ensemble


🔔 프로젝트 수행 결과


A. 모델별 시연 결과

Model Details AUROC (제출) Accuracy (제출)
SAKT userID, assessmentItemID, answerCode 만 사용, Output에 sigmoid 적용 0.6425 0.6075
CatBoost 21개 피쳐 사용, learning rate = 0.01, iteration = 10000 0.8456 0.7769
TabNet Sweep, Feature Selection 0.8160 0.6989
LSTM 16개 피처 사용, 연속형변수 batchnorm, data augmentation 0.7828 0.7124
LSTMATTN 16개 피처 사용, 연속형변수 batchnorm, data augmentation 0.7747 0.7177
LastQuery Transformer 16개 피처 사용, 연속형변수 batchnorm, data augmentation 0.7785 0.7151
LGCN+LSTM LGCN 임베딩(assessmentItemID, testId) 사용, Sweep 0.7915 0.7339
LGCN+lqTransfomer LGCN 임베딩(assessmentItemID, testId) 사용, Sweep, Feature Selection 0.8032 0.7285
LGBM 27개 피처 사용, 주요 피처 - Time Lag 관련 피처, learning rate = 0.023 0.8507 0.7715
XGBoost 32개 피처 사용, 주요 피처 - elo Rating, learning rate = 0.023 0.8481 0.7661

B. 최종 결과


앙상블

각 모델의 예측값에 가중치를 부여하는 Weighted Voting을 사용하였습니다.

LGBM+CatBoost, LGBM, XGBM, TabNet, LSTM, LGCN (가중치 : 40 - 30 - 15 - 5 - 5 - 5)

최종 LB AUC : 0.8486 LB Accuracy : 0.7823




📔 프로젝트 결과물


About

level2_dkt_recsys-level2-recsys-08 created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages