/Deep-Knowledge-Tracing

Naver Boostcamp AI Tech Stage 4 Competition : Deep Knowledge Tracing

Primary LanguageJupyter Notebook

๐Ÿ“– Stage 4 - DKT (Deep Knowledge Tracing) โœ๏ธ

More explanations of our codes are in ๐Ÿ”ŽTEAM-IKYO's WIKI

๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘ Members

๊ถŒํƒœ์–‘ ๋ฅ˜์žฌํฌ ๋ฐ•์ข…ํ—Œ ์˜ค์ˆ˜์ง€ ์ดํ˜„๊ทœ ์ •์ตํšจ
image image image image image image
Notion Notion Notion Notion Notion
ENFJ ISTP INTJ ENTP ESTJ INFP

๐Ÿ’ป Task Description

More Description can be found at AI Stages

์ดˆ๋“ฑํ•™๊ต, ์ค‘ํ•™๊ต, ๊ณ ๋“ฑํ•™๊ต, ๋Œ€ํ•™๊ต์™€ ๊ฐ™์€ ๊ต์œก๊ธฐ๊ด€์—์„œ ์šฐ๋ฆฌ๋Š” ์‹œํ—˜์„ ๋Š˜ ๋ด์™”์Šต๋‹ˆ๋‹ค. ์‹œํ—˜ ์„ฑ์ ์ด ๋†’์€ ๊ณผ๋ชฉ์€ ์šฐ๋ฆฌ๊ฐ€ ์ž˜ ์•„๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๊ณ  ์‹œํ—˜ ์„ฑ์ ์ด ๋‚ฎ์€ ๊ณผ๋ชฉ์€ ๋ฐ˜๋Œ€๋กœ ๊ณต๋ถ€๊ฐ€ ๋”์šฑ ํ•„์š”ํ•จ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์‹œํ—˜์€ ์šฐ๋ฆฌ๊ฐ€ ์–ผ๋งˆ๋งŒํผ ์•„๋Š”์ง€ ํ‰๊ฐ€ํ•˜๋Š” ํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์‹œํ—˜์—๋Š” ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ˆ˜ํ•™ ์‹œํ—˜์—์„œ ์ ์ˆ˜๋ฅผ 80์  ๋ฐ›์•˜๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” 80์ ์„ ๋ฐ›์€ ํ•™์ƒ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋ˆ์„ ๋“ค์—ฌ ๊ณผ์™ธ๋ฅผ ๋ฐ›์ง€ ์•Š๋Š” ์ด์ƒ ์šฐ๋ฆฌ๋Š” ์šฐ๋ฆฌ ๊ฐœ๊ฐœ์ธ์— ๋งž์ถคํ™”๋œ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›๊ธฐ๊ฐ€ ์–ด๋ ต๊ณ  ๋”ฐ๋ผ์„œ ๋ฌด์—‡์„ ํ•ด์•ผ ์„ฑ์ ์„ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ์„์ง€ ํŒ๋‹จํ•˜๊ธฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด DKT์ž…๋‹ˆ๋‹ค!

DKT๋Š” Deep Knowledge Tracing์˜ ์•ฝ์ž๋กœ ์šฐ๋ฆฌ์˜ "์ง€์‹ ์ƒํƒœ"๋ฅผ ์ถ”์ ํ•˜๋Š” ๋”ฅ๋Ÿฌ๋‹ ๋ฐฉ๋ฒ•๋ก ์ž…๋‹ˆ๋‹ค.

์‹œํ—˜์„ ๋ณด๋Š” ๊ฒƒ์€ ๋™์ผํ•˜์ง€๋งŒ ๋‹จ์ˆœํžˆ ์šฐ๋ฆฌ๊ฐ€ ์ˆ˜ํ•™์„ 80์ ์„ ๋งž์•˜๋‹ค๊ณ  ์•Œ๋ ค์ฃผ๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ ์šฐ๋ฆฌ๊ฐ€ ์ˆ˜ํ•™์ด๋ผ๋Š” ๊ณผ๋ชฉ์„ ์–ผ๋งˆ๋งŒํผ ์ดํ•ดํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์ธก์ •ํ•˜์—ฌ ์ค๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ ์ด๋Ÿฐ ์ดํ•ด๋„๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์šฐ๋ฆฌ๊ฐ€ ์•„์ง ํ’€์ง€ ์•Š์€ ๋ฏธ๋ž˜์˜ ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ์šฐ๋ฆฌ๊ฐ€ ๋งž์„์ง€ ํ‹€๋ฆด์ง€ ์˜ˆ์ธก์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค!

์ด๋Ÿฐ DKT๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์šฐ๋ฆฌ๋Š” ํ•™์ƒ ๊ฐœ๊ฐœ์ธ์—๊ฒŒ ์ˆ˜ํ•™์˜ ์ดํ•ด๋„์™€ ์ทจ์•ฝํ•œ ๋ถ€๋ถ„์„ ๊ทน๋ณตํ•˜๊ธฐ ์œ„ํ•ด ์–ด๋–ค ๋ฌธ์ œ๋“ค์„ ํ’€๋ฉด ์ข‹์„์ง€ ์ถ”์ฒœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค! ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— DKT๋Š” ๊ต์œก AI์˜ ์ถ”์ฒœ์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฝ๋‹ˆ๋‹ค. DKT๋Š” ๋งž์ถคํ™”๋œ ๊ต์œก์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์•„์ฃผ ์ค‘์š”ํ•œ ์—ญํ• ์„ ๋งก๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋Œ€ํšŒ์—์„œ Iscream ๋ฐ์ดํ„ฐ์…‹์„ ์ด์šฉํ•˜์—ฌ DKT๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋Œ€ํšŒ์—์„œ๋Š” ํ•™์ƒ ๊ฐœ๊ฐœ์ธ์˜ ์ดํ•ด๋„๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ง€์‹ ์ƒํƒœ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์ผ๋ณด๋‹ค๋Š”, ์ฃผ์–ด์ง„ ๋ฌธ์ œ๋ฅผ ๋งž์ถœ์ง€ ํ‹€๋ฆด์ง€ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค! ์šฐ๋ฆฌ๋Š” ๊ฐ ํ•™์ƒ์ด ํ‘ผ ๋ฌธ์ œ ๋ฆฌ์ŠคํŠธ์™€ ์ •๋‹ต ์—ฌ๋ถ€๊ฐ€ ๋‹ด๊ธด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„ ์ตœ์ข… ๋ฌธ์ œ๋ฅผ ๋งž์ถœ์ง€ ํ‹€๋ฆด์ง€ ์˜ˆ์ธกํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค!

๊ฐœ์ธ ๋งž์ถคํ™” ๊ต์œก์ด๋ผ๋Š” ๋ฉ‹์ง„ ๋ฏธ๋ž˜๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ DKT๋กœ ํ•จ๊ป˜ ๋– ๋‚˜๋ด…์‹œ๋‹ค!


๐Ÿ—‚ Directory

p4-dkt-team-ikyo
โ”œโ”€โ”€ code
โ”‚   โ”œโ”€โ”€ EDA
โ”‚   โ”‚   โ””โ”€โ”€ TeamIkyo_EDA.ipynb
โ”‚   โ”œโ”€โ”€ Feature Engineering
โ”‚   โ”‚   โ””โ”€โ”€ feature_engineering.py
โ”‚   โ”œโ”€โ”€ LGBM
โ”‚   โ”‚   โ”œโ”€โ”€ lgbm_baseline.ipynb
โ”‚   โ”‚   โ””โ”€โ”€ lgbm_function.py
โ”‚   โ”œโ”€โ”€ Deep Learning
โ”‚   โ”‚   โ”œโ”€โ”€ .py
โ”‚   โ”‚   โ””โ”€โ”€ .py
โ”‚   โ”œโ”€โ”€ Ensemble
โ”‚   โ”‚   โ”œโ”€โ”€ power_ensemble.ipynb
โ”‚   โ”‚   โ””โ”€โ”€ stacking.ipynb
โ”‚   โ””โ”€โ”€ script
โ”‚       โ”œโ”€โ”€ DL_train.sh
โ”‚       โ”œโ”€โ”€ DL_inference.sh
โ”‚       โ”œโ”€โ”€ ML_train.sh
โ”‚       โ””โ”€โ”€ ML_inference.sh
โ””โ”€โ”€ requirements.txt