Skip to content

Latest commit

 

History

History
110 lines (56 loc) · 3.94 KB

README.md

File metadata and controls

110 lines (56 loc) · 3.94 KB

❓ 지식 상태 추론(Deep Knowledge Tracing)

🏆최종 성적

  • Public LB: AUROC 0.8422 | ACC 0.7823 | 2등:2nd_place_medal:
  • Private LB : AUROC 0.8456 | ACC 0.7715 | 4등

📚Task Description

사용자(학생) 개개인이 푼 문제 리스트와 정답 여부가 담긴 데이터로부터 최종 문제를 맞출지 틀릴지 예측하는 지식 상태 추론 Task

  • 기간 : 2021.05.24 ~ 2021.06.15(4주)

  • Deep Knowledge Tracing(DKT) description :

    • 주요 데이터는 .csv 형태로 제공되며, train/test 합쳐서 총 7,442명의 사용자가 존재합니다. 이 때 이 사용자가 푼 마지막 문항의 정답을 맞출 것인지 예측하는 것이 최종 목표입니다.

      image

      • userID 사용자의 고유번호입니다. 총 7,442명의 고유 사용자가 있으며, train/test셋은 이 userID를 기준으로 9 : 1의 비율로 나누어졌습니다.

      • testId 시험지의 고유번호입니다. 문항과 시험지의 관계는 아래 그림을 참고하여 이해하시면 됩니다. 총 1,537개의 고유한 시험지가 있습니다.

      • assessmentItemID 문항의 고유번호입니다. 총 9,454개의 고유 문항이 있습니다. "A+앞 6자리"는 testId의 정보를 나타내고 있으며, 뒤 3자리는 문제의 번호를 의미합니다.

        img

      • answerCode 사용자가 해당 문항을 맞췄는지 여부에 대한 이진 데이터이며 0은 사용자가 해당 문항을 틀린 것, 1은 사용자가 해당 문항을 맞춘 것입니다.

      • Timestamp 사용자가 해당문항을 풀기 시작한 시점의 데이터입니다.

      • KnowledgeTag 문항 당 하나씩 배정되는 태그로, 일종의 중분류 역할을 합니다. 태그 자체의 정보는 비식별화 되어있지만, 문항을 군집화하는데 사용할 수 있습니다. 912개의 고유 태그가 존재합니다.

  • Metric :

    • DKT는 주어진 마지막 문제를 맞았는지 틀렸는지로 분류하는 이진 분류 문제입니다.

    • 평가를 위해 AUROC(Area Under the ROC curve)와 Accuracy를 사용합니다.

    • 리더보드에 두 지표가 모두 표시되지만, 최종 평가는 AUROC 로만 이루어집니다.

      image

💻Team Strategy

  • Git Projects 활용

    • 칸반보드를 활용한 협업

      image

  • Notion 활용

    • notion을 활용한 팀 실험 결과 공유 및 feature engineering EDA 공유
    • 피어세션 기록 등
    • **여기**에서 확인할 수 있습니다.



📁프로젝트 구조

code  
├── README.md  
├── args.py  
├── baseline.ipynb  
├── dkt  
│   ├── criterion.py  
│   ├── dataloader.py  
│   ├── metric.py  
│   ├── model.py  
│   ├── scheduler.py  
│   ├── trainer.py  
│   └── utils.py  
├── evaluation.py  
├── inference.py  
├── requirements.txt  
└── train.py



🤝Reference

  • 이곳에서 확인할 수 있습니다.

👨‍💻 Contributors

윤도연(ydy8989) | 전재열(Jayten) | 설재환(anawkward) | 민재원(ekzm8523) | 김봉진(BongjinKim) | 태영돈(taepd)