๐Ÿ”ฅ[KHUDA_RecSys] ํ”„๋กœ์ ํŠธ ์ค€๋น„(1)๐Ÿ”ฅ

nothingismeยท2022๋…„ 11์›” 11์ผ

[KHUDA_RecSys]

๋ชฉ๋ก ๋ณด๊ธฐ
1/8
post-thumbnail

๐Ÿ—“๏ธ 1109

โ‡๏ธ 11์›” 7์ผ ์ฟ ๋‹ค ๊ด€์‹ฌ๋ถ„์•ผ ํ”„๋กœ์ ํŠธ ํ•™์Šต ์ฃผ์ œ๊ฐ€ ์ •ํ•ด์กŒ๋‹ค. ํšจ์ค€์˜ค๋น , ์ˆ˜์ง„์ด, ์˜ˆ์ง€์™€ ํ•จ๊ป˜ Kaggle OTTO ๋Œ€ํšŒ์— ์ฐธ์—ฌํ•˜๊ธฐ๋กœ ํ•˜์˜€๋‹ค. ๊ทธ๋ฆฌ๊ณ  11์›” 9์ผ๋ถ€ํ„ฐ ํ”„๋กœ์ ํŠธ ์ค€๋น„ ๊ธฐ๋ก ๊ณผ์ •์„ ๋‚จ๊ธฐ๊ธฐ๋กœ ํ–ˆ๋‹ค. ํ™”์ดํŒ… !-! ๐Ÿ’ช

โœ… ๋Œ€ํšŒ ์•ˆ๋‚ด ๋งํฌ : https://www.kaggle.com/c/otto-recommender-system

โœ… ๋Œ€ํšŒ ๋ฐ์ดํ„ฐ์…‹ ๋งํฌ : https://github.com/otto-de/recsys-dataset

๐Ÿธ๐Ÿธ ํƒœํ˜•์˜ค๋น ํ•œํ…Œ ์ „ํ™”์™€์„œ ํšจ์ค€์˜ค๋น ๋ž‘ ๊ฐ™์ด ์ˆ ๋จน์žํ•ด์„œ ๊ฑ ๊ด€๋‘์—ˆ๋‹ค. ๐Ÿธ๐Ÿธ


๐Ÿ—“๏ธ 1110

โ‡๏ธ ์˜ค๋Š˜์€ ๋น„๋Œ€๋ฉด์œผ๋กœ ์˜คํ›„ 10์‹œ์— ๊ฐ„๋‹จํ•œ ํšŒ์˜๊ฐ€ ์žˆ์—ˆ๋‹ค. ๋ฐ์ดํ„ฐ์…‹ ์—ด๋žŒ๊ณผ ํ–ฅํ›„ ์ง„ํ–‰ ๊ณ„ํš์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ์„ค๋ช…์ด ์žˆ์—ˆ๋‹ค.

โœ… "train.jsonl" ํŒŒ์ผ์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด๋‹ค. session id๋Š” user id์— ํ•ด๋‹นํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

โœ… ์œ ๋‹‰์Šค ์‹œ๊ฐ„์€ ์‹œ๊ฐ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ์‹์ด๋‹ค. POSIX ์‹œ๊ฐ„์ด๋‚˜ Epoch ์‹œ๊ฐ„์ด๋ผ๊ณ  ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค. 1970๋…„ 1์›” 1์ผ 00:00:00 ํ˜‘์ • ์„ธ๊ณ„์‹œ ๋ถ€ํ„ฐ์˜ ๊ฒฝ๊ณผ ์‹œ๊ฐ„์„ ์ดˆ๋กœ ํ™˜์‚ฐํ•˜์—ฌ ์ •์ˆ˜๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ด๋‹ค. (์œ„ํ‚ค๋ฐฑ๊ณผ)

โœ… Notion ํšŒ์˜๋ก

๐Ÿ“ ํšŒ์˜ ๋‹น์‹œ ํšจ์ค€์˜ค๋น ๊ฐ€ ์„ค๋ช…ํ•ด์ค€ ๋ถ€๋ถ„์„ ๋ฐ›์•„์ ์€ ๊ธฐ๋ก.txt ๐Ÿ“
โœ๏ธ ๋ฐ์ดํ„ฐ์…‹ ๋ถ„ํ•  ๋ฐฉ์‹
ํ›„๋ณด๊ตฐ ์„ ํƒ -> ์ „์ฒ˜๋ฆฌ ๋ฐฉ์‹์— ๋”ฐ๋ผ ์„ ํƒ
๋žญํ‚น-> ๋ฝ‘์€ ํ›„๋ณด๊ตฐ์„ ์ˆœ์œ„๋ฅผ ๋ฝ‘๋Š”๋‹ค. 3๊ฐ€์ง€ ๋ฐฉ์‹.
โœ๏ธ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
์„ธ์…˜ ๋น ์ ธ์žˆ๋Š” ๋ฐ์ดํ„ฐ ->์ฐจํ›„์— ๋…ผ์˜. ์–ธ์ œ ์ง‘๊ณ„ํ–ˆ๋Š”์ง€์— ๋”ฐ๋ผ ์‹œ๊ฐ„์ด ๊ฐˆ๋ฆฐ๋‹ค.์•„๋ฌด๋Ÿฐ ํด๋ฆญ ์—†์ด ์ฃผ๋ฌธํ–ˆ๋‹ค๊ณ  ๋œจ๋Š” ๊ฒฝ์šฐ ์žˆ๋‹ค. EDA ์ดํ›„๋กœ ์ง„ํ–‰ํ•  ์˜ˆ์ •.
โœ๏ธ ์–ด๋–ค ์ถ”์ฒœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์“ธ ๊ฒƒ์ธ์ง€
OTTO - multiple objective ๋‹ค๋ชฉ์ ์„ฑ : ์˜ˆ์ธกํ•˜๋Š” y labeling์ด ์—ฌ๋Ÿฌ๊ฐœ.
unique ์‚ฌ์šฉ์ž์— ๋Œ€ํ•ด ๋ญ˜ ํด๋ฆญํ•˜๋Š”์ง€ ์‚ด ์ง€ ๋ง์ง€ ๋“ฑ์„ ์ข…ํ•ฉ์ ์œผ๋กœ ์˜ˆ์ธก, ์˜ˆ์ธก ์ด 4๊ฐ€์ง€
aid๊ฐ’ ์ถ”์ •์„ ์œ„ํ•ด event ๊ธฐ๋ฐ˜์œผ๋กœ.
โœ๏ธ EDA ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ์ดํ›„์—. ๊ฐ์ž EDAํ•ด์„œ ๋ฐ์ดํ„ฐ ๋ถ„ํฌ. EDA ํ•  ๋•Œ ๋‚˜์˜ค๋Š” ํŠน์„ฑ ๋ฐ”ํƒ•์œผ๋กœ ํ›„๋ณด๊ตฐ ์„ ํƒํ•˜๋Š” ๊ฒƒ๋„ ๊ดœ์ฐฎ์„ ๊ฒƒ ๊ฐ™๋‹ค.
โœ๏ธ Reference๋ฅผ ๋ณด๋‹ˆ ํด๋ฆญํ•œ ์ƒํ’ˆ์˜ ๊ตฌ๋งค ๋น„์œจ์ด ๋†’์•„ ๋™์‹œ์— ๋ฐฉ๋ฌธํ•œ ์‚ฌ๋žŒ๋“ค์„ ํ–‰๋ ฌ์— ๋„ฃ์–ด๋†“๊ณ  ์ผ๋ฐ˜ํ™”ํ•ด์„œ ๋žญํ‚น์„ ๋งค๊ธด ๊ฒฝ์šฐ ์žˆ๋‹ค (co-visitation).
โœ๏ธ ํ›„๋ณด๊ตฐ ์ƒ์„ฑ ์•ˆํ•˜๊ณ  ๋Œ๋ ค๋„ ๊ดœ์ฐฎ์ง€๋งŒ ์‹œ๊ฐ„์ด ๋„ˆ๋ฌด ์˜ค๋ž˜๊ฑธ๋ฆฐ๋‹ค. ํ›„๋ณด๊ตฐ ์ƒ์„ฑ ํ•„์š”ํ•  ๊ฒƒ ๊ฐ™๋‹ค.

โœ… ๋‹ค์Œ ํšŒ์˜๋Š” 11์›” 14์ผ 19์‹œ ๋Œ€๋ฉด์œผ๋กœ ์ง„ํ–‰ํ•  ์˜ˆ์ •์ด๋‹ค. ์ค€๋น„๋Š” ์ฃผ๋ง ํฌํ•จํ•ด์„œ ํ•ด์•ผ๊ฒ ๋‹ค. ์˜ค๋Š˜์€ ๋.


๐Ÿ—“๏ธ 1111

โ‡๏ธ 10์ผ ์ง„ํ–‰ํ–ˆ๋˜ ํšŒ์˜ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ์ค€๋น„๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค. EDA๋ฅผ ์œ„ํ•ด์„œ ํ™”์ดํŒ… !-! ๐Ÿ’ช๐Ÿ’ช

โœ… Candidate Generation (ํ›„๋ณด๊ตฐ ์„ ํƒ)

โœ๏ธ ์ถœ์ฒ˜ : https://developers.google.com/machine-learning/recommendation/overview/candidate-generation
โœ๏ธ ํ›„๋ณด ์ƒ์„ฑ์€ ์ถ”์ฒœ์˜ ์ฒซ ๋ฒˆ์งธ ๋‹จ๊ณ„์ด๋‹ค. ์ฟผ๋ฆฌ๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์‹œ์Šคํ…œ์€ ๊ด€๋ จ ํ›„๋ณด ์ง‘ํ•ฉ์„ ์ƒ์„ฑํ•œ๋‹ค. ์•„๋ž˜ ํ‘œ๋Š” ๋‘ ๊ฐ€์ง€์˜ ์ผ๋ฐ˜์ ์ธ ํ›„๋ณด ์ƒ์„ฑ ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค€๋‹ค. ์ปจํ…์ธ  ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง์€ ์‚ฌ์šฉ์ž๊ฐ€ ์ข‹์•„ํ–ˆ๋˜ ์•„์ดํ…œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ถ”์ฒœํ•˜๋Š” ๋ฐฉ๋ฒ•, ํ˜‘์—… ํ•„ํ„ฐ๋ง์€ ๋น„์Šทํ•œ ์„ฑํ–ฅ์„ ์ง€๋‹Œ ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์•„์ดํ…œ์„ ์ถ”์ฒœํ•œ๋‹ค.

โœ๏ธ ์ง€๋‚œ ํšŒ์˜๋ก ๋‚ด์šฉ์„ ๊ฐ€์ ธ์™€๋ณด๋ฉด ์ด ๋Œ€ํšŒ์˜ ๊ฒฝ์šฐ์—๋Š” ๋‹ค์Œ ํ›„๋ณด๊ตฐ ์„ ํƒ ๋ฐฉ๋ฒ•์„ ๋– ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
-์ด์ „์— ๊ตฌ๋งคํ•œ ์•„์ดํ…œ(previously purchased items)
-์žฌ๊ตฌ๋งค๋œ ์•„์ดํ…œ(repurchased items)
-์ „๋ฐ˜์ ์œผ๋กœ ๊ฐ€์žฅ ์ธ๊ธฐ์žˆ๋Š” ์•„์ดํ…œ(overall most populat items)
-๊ตฐ์ง‘ํ™” ๊ธฐ์ˆ ์˜ ์ผ์ข…์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฐพ์€ ๋น„์Šทํ•œ ์•„์ดํ…œ(similar itmes based on some sort of clustering technique)
-co-visitation ํ–‰๋ ฌ ๊ฐ™์€ ๊ธฐํƒ€ ๋ฐฉ๋ฒ•์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ฐพ์€ ๋น„์Šทํ•œ ์•„์ดํ…œ(similar items based on something such as a co-visitaion matrix)

โœ… EDA : Exploratory Data Analysis ( ํƒ์ƒ‰์  ๋ฐ์ดํ„ฐ ์„ ํƒ)

โœ๏ธ ์ถœ์ฒ˜ : http://bigdata.dongguk.ac.kr/lectures/EDA/_book/section-14.html

โœ๏ธ ํ†ต๊ณ„ํ•™์ž์ธ John Tukey (1977)๊ฐ€ ๊ทธ์˜ ์ €์„œ Exploratory Data Analysis์—์„œ ์ฒ˜์Œ ๋„์ž…ํ•˜์˜€๋‹ค. EDA์˜ ๋ชฉ์ ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ๋ถ„์„์ž์˜ ๊ฐ€์„ค์„ ์ •ํ˜•ํ™”ํ•˜๊ณ  ์„ธ๋ถ„ํ™”ํ•˜๋Š” ๊ฒƒ์„ ๋•๊ธฐ ์œ„ํ•จ์ด๋‹ค.

โœ๏ธ EDA์˜ ํ•ต์‹ฌ ๋ชฉํ‘œ 4๊ฐ€์ง€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ๊ด€์ธก๋œ ํ˜„์ƒ์˜ ์›์ธ์— ๋Œ€ํ•œ ๊ฐ€์„ค์„ ์ œ์‹œ
  • ์ ์ ˆํ•œ ํ†ต๊ณ„ ๋„๊ตฌ ๋ฐ ๊ธฐ๋ฒ•์˜ ์„ ํƒ์„ ์œ„ํ•œ ๊ฐ€์ด๋“œ
  • ํ†ต๊ณ„๋ถ„์„์˜ ๊ธฐ์ดˆ๊ฐ€ ๋  ๊ฐ€์ •์„ ํ‰๊ฐ€
  • ์ถ”๊ฐ€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์„ ์œ„ํ•œ ๊ธฐ๋ฐ˜ ์ œ๊ณต

โœ๏ธ EDA์˜ ์ฃผ์š” ๋‚ด์šฉ์€ ๋ณธ๊ฒฉ์ ์ธ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ์•ž์„œ ๋ฐ์ดํ„ฐ์˜ ์ฃผ์š” ํŠน์„ฑ์„ ์š”์•ฝ/์‹œ๊ฐํ™”ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ๊ด€์ธก์น˜๋“ค์˜ ํŒจํ„ด ํƒ์ƒ‰
  • ์ž˜๋ชป๋œ ์ž๋ฃŒ๋“ค์„ ํƒ์ƒ‰
  • ์—ฐ๊ตฌ ๊ฐ€์„ค์˜ ์„ค์ • / ์—ฐ๊ตฌ์˜ ๊ฐ€์ •์„ ๊ฒ€ํ† 
  • ๋ณ€์ˆ˜๋“ค๊ฐ„์˜ ๊ด€๊ณ„ ํŒŒ์•…

โœ๏ธ ํ‰๊ท (Mean), ์ค‘์•™๊ฐ’(Median), ์ตœ๋นˆ๊ฐ’(Mode), ํ‘œ์ค€ํŽธ์ฐจ(Standard Deviation), ๋ถ„์‚ฐ(Variance), ์‚ฌ๋ถ„์œ„์ˆ˜๋ฒ”์œ„(Interquartile Range), ์ฒจ๋„(Kurtosis), ์™œ๋„(Skewness)์™€ ๊ฐ™์€ ์ˆ˜์น˜์ ์ธ ๋ฐฉ๋ฒ•์ด๋‹ค.

โœ๏ธHistogram, Density estimation, Quantile-quantile plot, Box plots, Scatter plots๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๊ทธ๋ž˜ํ”„๋กœ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค.

โœ… Kaggle Notebooks ๋‘˜๋Ÿฌ๋ณด๊ธฐ (1) : OTTO - Getting Started

โœ๏ธ ์ถœ์ฒ˜ : https://www.kaggle.com/code/edwardcrookenden/otto-getting-started-eda-baseline

profile
๊ฐ€๋ณ๊ฒŒ ์žฌ๋ฐŒ๋˜ ๊ฑฐ ๊ธฐ๋กํ•ด์š”

0๊ฐœ์˜ ๋Œ“๊ธ€