- 개인 맞춤화 교육을 위해 사용자의 "지식 상태"를 추적하는 딥러닝 방법론인 DKT(Deep Knowledge Tracing) 모델을 구축하고, 사용자가 푼 최종 문제의 정답 여부를 예측
데이터 | 데이터설명 |
---|---|
UserID | 사용자의 고유 번호 |
assessmentItemID | 사용자가 푼 문항의 일련 번호 |
testId | 사용자가 푼 문항이 포함된 시험지의 일련 번호 |
answerCode | 사용자가 푼 문항의 정답 여부를 담고 있는 이진(0/1) 데이터 (Target Label) |
Timestamp | 사용자가 문항을 푼 시간 정보 |
KnowledgeTag | 사용자가 푼 문항의 고유 태그 |
- Iscream-Edu 데이터셋 / CC BY 2.0
- train/test 합쳐서 총 7,442명의 사용자가 존재
- 총 9,454개의 고유 문항, 1,537개의 시험지, 912개의 태그(중분류)가 존재
- 주어진 마지막 문제를 맞았는지 틀렸는지로 분류하는 이진 분류 문제이므로, 본 대회에서는 AUROC(주평가지표)와 Accuracy(참고 평가지표)를 사용함
신민철 | 유승태 | 이동석 | 이아현 | 임경태 |
---|---|---|---|---|
- Research | 대회와 관련된 기술 탐색 및 학습 진행
- EDA | 주어진 데이터에 대한 파악
- 실험 환경 구축 | 모델 간 성능 비교의 객관화를 위한 실험 환경 구축
- Feature Engineering | 모델의 성능 상승을 위한 새로운 Feature 탐색 및 생성
- Modeling | 목적에 부합하는 모델 선정 및 개발
- 실험 및 평가 | 개발한 모델 또는 새로운 Feature에 대한 성능 평가
- 각 폴더의 requirements.txt, README.md 참고
level2-dkt-level2-recsys-10
├── README.md
├── input
│ └── code
│ ├── dkt
│ │ ├── README.md
│ │ ├── args.py
│ │ ├── config.py
│ │ ├── dkt
│ │ │ ├── criterion.py
│ │ │ ├── dataloader.py
│ │ │ ├── metric.py
│ │ │ ├── model.py
│ │ │ ├── module.py
│ │ │ ├── optimizer.py
│ │ │ ├── scheduler.py
│ │ │ ├── trainer.py
│ │ │ └── utils.py
│ │ ├── inference.py
│ │ ├── requirements.txt
│ │ └── train.py
│ ├── lightgcn
│ │ ├── README.md
│ │ ├── config.py
│ │ ├── inference.py
│ │ ├── lightgcn
│ │ │ ├── datasets.py
│ │ │ ├── models.py
│ │ │ └── utils.py
│ │ ├── requirements.txt
│ │ └── train.py
│ ├── modified_lightgcn
│ │ ├── README.md
│ │ ├── config.py
│ │ ├── inference.py
│ │ ├── lightgcn
│ │ │ ├── datasets.py
│ │ │ ├── models.py
│ │ │ └── utils.py
│ │ ├── requirements.txt
│ │ └── train.py
│ └── tabular
│ ├── README.md
│ ├── args.py
│ ├── config.py
│ ├── fi_split1.png
│ ├── inference.py
│ ├── requirements.txt
│ ├── tabular
│ │ ├── dataloader.py
│ │ ├── trainer.py
│ │ └── utils.py
│ └── train.py
└── references
├── modified_lightgcn_embeddingLookUpTableStructure.png
└── validation_strategy.png
- Git Flow 브랜치 전략
- Github Issues 기반 작업 진행
- Github Projects의 칸반 보드를 통한 일정 관리
- Github Pull requests를 통해 Merge 전 request 검토 & 코드 리뷰
- Weights & Biases를 통한 실험 관리
- Notion을 활용한 실험 기록 정리
- Weights & Biases Quickstart
- Deep Knowledge Tracing
- LONG SHORT-TERM MEMORY
- Attention Is All You Need
- BERT: Pre-trainig of Deep Bidirectional Transformers for Language Understanding
- Last Query Transformer RNN for Knowledge Tracing
- SAINT+: Integrating Temporal Features for EdNet Correctness Prediction
- Optimizing Deeper Transformers on Small Datasets
- LightGCN: Simplifying and Powering Graph Convolution Network for Recommendation
- LightGBM: A Highly Efficient Gradient Boosting Decision Tree
- CatBoost: unbiased boosting with categorical features