DKT๋ฅผ ํ์ฉํ๋ฉด ์ฐ๋ฆฌ๋ ํ์ ๊ฐ๊ฐ์ธ์๊ฒ ์ํ์ ์ดํด๋์ ์ทจ์ฝํ ๋ถ๋ถ์ ๊ทน๋ณตํ๊ธฐ ์ํด ์ด๋ค ๋ฌธ์ ๋ค์ ํ๋ฉด ์ข์์ง ์ถ์ฒ์ด ๊ฐ๋ฅํ์ฌ DKT๋ ๋ง์ถคํ๋ ๊ต์ก์ ์ ๊ณตํ๊ธฐ ์ํด ์์ฃผ ์ค์ํ ์ญํ ์ ๋งก๊ฒ ๋๋ค. ์ํ์ ๋ณด๋ ๊ฒ์ ๋์ผํ์ง๋ง ๋จ์ํ ์ฐ๋ฆฌ๊ฐ ์ํ์ 80์ ์ ๋ง์๋ค๊ณ ์๋ ค์ฃผ๋ ๊ฒ์ ๋์ด์ ์ฐ๋ฆฌ๊ฐ ์ํ์ด๋ผ๋ ๊ณผ๋ชฉ์ ์ผ๋ง๋งํผ ์ดํดํ๊ณ ์๋์ง๋ฅผ ์ธก์ ํด์ฃผ๊ณ , ์ด๋ฐ ์ดํด๋๋ฅผ ํ์ฉํ์ฌ ์ฐ๋ฆฌ๊ฐ ์์ง ํ์ง ์์ ๋ฏธ๋์ ๋ฌธ์ ์ ๋ํด์ ์ฐ๋ฆฌ๊ฐ ๋ง์์ง ํ๋ฆด์ง ์์ธก์ด ๊ฐ๋ฅํ๋ค. ์ด๋ฐ DKT๋ฅผ ํ์ฉํ๋ฉด ์ฐ๋ฆฌ๋ ํ์ ๊ฐ๊ฐ์ธ์๊ฒ ์ํ์ ์ดํด๋์ ์ทจ์ฝํ ๋ถ๋ถ์ ๊ทน๋ณตํ๊ธฐ ์ํด ์ด๋ค ๋ฌธ์ ๋ค์ ํ๋ฉด ์ข์์ง ์ถ์ฒ์ด ๊ฐ๋ฅํ๋ค.
- ํ์ ๊ฐ๊ฐ์ธ์ ์ดํด๋๋ฅผ ๊ฐ๋ฆฌํค๋ ์ง์ ์ํ๋ฅผ ์์ธกํ๋ ์ผ๋ณด๋ค๋ ๊ฐ ํ์์ด ํผ ๋ฌธ์ ๋ฆฌ์คํธ์ ์ ๋ต ์ฌ๋ถ๊ฐ ๋ด๊ธด ๋ฐ์ดํฐ๋ฅผ ๋ฐ์ ์ต์ข ๋ฌธ์ ๋ฅผ ๋ง์ถ์ง ํ๋ฆด์ง ์์ธกํ๋ค.
๊ฐ์ ๊ตฌ | ๊น๋ฐฑ์ค | ๊นํ์ง | ์ด์์ฐ | ์ ์ธํ |
---|---|---|---|---|
Python 3.8.5
PyTorch torch 1.10.2
Scikit-Learn 1.0.2
Wandb 0.12.15
โโโ EDA
โ โโโ hyeji_EDA.ipynb
โ โโโ inhyeok_EDA.ipynb
โโโ Ensemble
โ โโโ ensemble.ipynb
โโโ NMF
โ โโโ NMF.ipynb
โ โโโ readme.md
โโโ README.md
โโโ SaintPlus
โโโ README.md
โโโ args.py
โโโ data_generator.py
โโโ elapsed.png
โโโ model.py
โโโ pre_process.py
โโโ structure.png
โโโ submission.py
โโโ sweep.yaml
โโโ train.py
โโโ utils.py
userID : ์ฌ์ฉ์ ๊ณ ์ ๋ฒํธ
- train :
6698
๋ช ์ ๊ณ ์ ์ฌ์ฉ์ - test :
744
๋ช ์ ๊ณ ์ ์ฌ์ฉ์
assessmentItemID : ๋ฌธํญ์ ๊ณ ์ ๋ฒํธ
9454
๊ฐ์ ๊ณ ์ ๋ฌธํญ
testID : ์ํ์ง ๊ณ ์ ๋ฒํธ
1537
๊ฐ์ ๊ณ ์ ํ ์ํ์ง
answerCode : ์ ๋ต ์ฌ๋ถ
- ํ๋ฆฐ ๊ฒฝ์ฐ
0
, ๋ง๋ ๊ฒฝ์ฐ1
Timestamp : ๋ฌธ์ ํ๊ธฐ ์์ํ ์๊ฐ
- train :
2019-12-31 15:08:01
~2020-12-29 16:46:21
- test :
2019-12-31 23:43:18
~2020-12-29 16:44:10
KnowledgeTag : ๋ฌธ์ ์ ์ค๋ถ๋ฅ ํ๊ทธ
912
๊ฐ์ ํ๊ทธ
-
์ฌ์ฉ์ ๋ณ ์ ๋ต๋ฅ ํ๊ท ์
0.628
-
๊ฐ์ฅ ๋ฎ์ ์ ๋ต๋ฅ ์
0.000000
-
๊ฐ์ฅ ๋์ ์ ๋ต๋ฅ ์
1.000000
-
- ๋ฌธํฅ๋ณ ์ ๋ต๋ฅ ํ๊ท ์
0.6542
- ๊ฐ์ฅ ๋ฎ์ ์ ๋ต๋ฅ ์
0.04943
- ๊ฐ์ฅ ๋์ ์ ๋ต๋ฅ ์
0.99631
- ๋ฌธํฅ๋ณ ์ ๋ต๋ฅ ํ๊ท ์
-
- ์ํ์ง ๋ณ ํ๊ท ์
0.667982
- ๊ฐ์ฅ ๋ฎ์ ์ ๋ต๋ฅ ์
0.327186
- ๊ฐ์ฅ ๋์ ์ ๋ต๋ฅ ์
0.955474
- ์ํ์ง ๋ณ ํ๊ท ์
-
- ํ๊ทธ ๋ณ ์ ๋ต๋ฅ ํ๊ท ์
0.615524
- ๊ฐ์ฅ ๋ฎ์ ์ ๋ต๋ฅ ์
0.188940
- ๊ฐ์ฅ ๋์ ์ ๋ต๋ฅ ์
0.977778
- ํ๊ทธ ๋ณ ์ ๋ต๋ฅ ํ๊ท ์
-
์ ๋ต๋ฅ ๊ณผ ๋ฌธ์ ๋ฅผ ํผ ๊ฐ์ ์ฌ์ด ์ธ๊ณผ๊ด๊ณ :
0.168
- ํ๊ท ๋ณด๋ค ๋ฌธํญ์ ๋ง์ด ํผ ํ์๋ค์ด ๋ฎ์ ํ์๋ค ๋ณด๋ค ๋์ ์ ๋ต๋ฅ ์ ๋ณด์ด๋ ๊ฒฝํฅ์ด ์๋ค.
-
ํ๊ทธ๋ฅผ ํ์๋ ์ฌ์ฉ์์ ์์ ์ ๋ต๋ฅ ์ฌ์ด ์๊ด๊ด๊ณ :
0.376
- ํ๊ท ๋ณด๋ค ๋ง์ด ๋ ธ์ถ๋ ํ๊ทธ๊ฐ ๋์ ์ ๋ต๋ฅ ์ ๋ณด์ด๋ ๊ฒฝํฅ์ด ์๋ค.
- Saint +
- NMF
- CatBoost
- GRU
- Gradient Boosting
- HistGradient Boosting
- LGBM
- RandomForest
- XGBoost
- cl4kt
- Ensemble
- ๋ง์ง๋ง ๋ฌธ์ ์ ์ ๋ต์ฌ๋ถ๋ฅผ ๋ง์ถ๋ ๊ฒ์ด๊ธฐ์ ์์ ๋ฌธ์ ํ์ด ์ด๋ ฅ๋ค์ด ์ํฅ์ ๋ผ์น ๊ฒ์ผ๋ก ์์ธก๋์ด sequential ๋ฌธ์ ๋ฅผ ํ๊ธฐ์ํ ๋ชจ๋ธ์ธ BERT ์ LSTM์ ์ ์ฉ
- ๋ฐ์ดํฐ์ ์๊ฐ ์ ์ด ๋ฐ์ดํฐ์ ์๊ฐ ๋ง์ด ํ์ํ ๋ฅ๋ฌ๋ ๋ชจ๋ธ๋ณด๋ค๋ ๋ฅ๋ฌ๋์ด ์๋ ๋จธ์ ๋ฌ๋์ ๋ชจ๋ธ๋ค์ด ๋ ์ข์ ๊ฒ์ด๋ผ ์์ธก๋์ด LGBM , Catboost, XGBoost, HistGradeintBoosting ์ ์ฉ
- ๋จ์ ํ๋ ฌ ๋ถํด๋ฅผ ํตํด ํน์ฑ์ ๊ตฌํ๋ ๊ฒ๋ ์ข์ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ๊ฒ์ด๋ผ ์์ธก๋์ด SVD, NMF ์ฌ์ฉ
- ์ ์ ์ ์์ค๊ณผ ๋ฌธ์ ๋์ด๋๋ฅผ ๊ณ ๋ คํ๋ Feature๋ฅผ ์ถ๊ฐ.
- DKT๋ฅผ ์ํ ๋ชจ๋ธ์ธ SAINT+ (riiid) , CL4KT(upstage) ****๋ฅผ ์ ์ฉ
- ์๋ก ๋ค๋ฅธ ๋ฐฉ์์ ๋ชจ๋ธ๋ค ์์ฃผ๋ก ์์๋ธํ์์. ( SAINT+NMF , SAINT+NMF+Boost, ...)
- SAINT+ ์ NMF ์ ๊ฒฐ๊ณผ ํ๊ท ์ ์ฌ์ฉ.
- NMF ๋ถ์์ผ๋ก ์์ฑ๋ ํ๋ ฌ ๋ณํ ํ๋ ฌ์ ํตํด ์ ๋ต์ ์ถ๋ก ํ์ฌ ๊ฒฐ๊ณผ ๊ฐ ์์ฑํ๊ณ , Saint+ encoder / decoder์ attention์ด ์ฌ์ฉ.
- SAINT+ ๋ ์ ๋ต ์ฌ๋ถ์ ๋ฌธ์ ํผ ์๊ฐ์ด ์ค์ํ๋ฐ ์๊ฐ์ ์๋ฒ ๋ฉํ์ฌ ์ฌ์ฉํ์๊ธฐ์ ์ข์ ๊ฒฐ๊ณผ๊ฐ ๋์จ ๊ฒ์ผ๋ก ์์ธก.
- ์ ๋ต ์ฌ๋ถ๋ฅผ 0 / 1 ๋ก ๋ํ๋ด๊ณ ํน์ฑ๋ค๋ ์์๊ฐ ์์ ๊ฒ์ด๊ธฐ์ SVD๋ณด๋ค NMF์ ๊ฒฐ๊ณผ๊ฐ ๋ ์ข์ ๊ฒ์ผ๋ก ์์ธก.
Model | Final Rank | Final score |
---|---|---|
Saint Plus + NMF | 6 | 0.8494 |
- SAINT+: Integrating Temporal Features for EdNet Correctness Prediction
- Attention Is All You Need
- Contrastive Learning for Knowledge Tracing
- LightGBM: A Highly Efficient Gradient Boosting Decision Tree
- UltraGCN: Ultra Simplification of Graph Convolutional Networks for Recommendation
- XGBoost: A Scalable Tree Boosting System
- CatBoost: unbiased boosting with categorical features