๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

[๋‚ด์ผ๋ฐฐ์›€์บ ํ”„] Team Project

[๋‚ด์ผ๋ฐฐ์›€์บ ํ”„] ์‹ฌํ™”ํ”„๋กœ์ ํŠธ EDA ๋งˆ๋ฌด๋ฆฌ ๋ฐ ๋ชจ๋ธ๋ง

์ œ์•ฝ ์ œ์กฐ๊ณต์ • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ์žฌ์ˆ˜์ •๊ณผ EDA ๊ธฐ๋ฐ˜ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ๋ง ๋ฐฉํ–ฅ ์„ค์ •

1. ์˜ค๋Š˜์˜ ํ•™์Šต ๋ชฉํ‘œ

์˜ค๋Š˜์˜ ๋ชฉํ‘œ๋Š” ๋‹จ์ˆœํžˆ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๋Œ๋ ค๋ณด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ชจ๋ธ๋ง์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ์ •๋ง ์ ์ ˆํ•œ ํ˜•ํƒœ์ธ์ง€ ๋‹ค์‹œ ์ ๊ฒ€ํ•˜๊ณ , EDA ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์–ด๋–ค ๋ชจ๋ธ๋ง ๋ฐฉํ–ฅ์ด ํƒ€๋‹นํ•œ์ง€ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์˜ ์˜ˆ์ธก ๋Œ€์ƒ์€ ํ‰๊ท  ์šฉ์ถœ๋ฅ ์ธ dissolution_av์ด๋‹ค. ๋”ฐ๋ผ์„œ ์›์ž์žฌ ํ’ˆ์งˆ, ์ œ์กฐ ๊ณต์ • ์กฐ๊ฑด, ์‹œ๊ณ„์—ด ๊ณต์ • ์•ˆ์ •์„ฑ ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•ด ํ‰๊ท  ์šฉ์ถœ๋ฅ ์„ ์˜ˆ์ธกํ•˜๋Š” ํšŒ๊ท€ ๋ฌธ์ œ๋กœ ์ ‘๊ทผํ–ˆ๋‹ค.

ํŠนํžˆ ์˜ค๋Š˜์€ ๋‹ค์Œ ์„ธ ๊ฐ€์ง€์— ์ง‘์ค‘ํ–ˆ๋‹ค.

์ฒซ์งธ, ์ „์ฒ˜๋ฆฌ ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ ๋ˆ„์ˆ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์ž…๋ ฅ ๋ณ€์ˆ˜์™€ ํƒ€๊นƒ ๋ณ€์ˆ˜๋ฅผ ๋‹ค์‹œ ์ ๊ฒ€ํ–ˆ๋‹ค.
๋‘˜์งธ, EDA ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ์–ด๋–ค ๋ณ€์ˆ˜๋ฅผ ๋ชจ๋ธ๋ง ํ›„๋ณด๋กœ ๋ณผ ์ˆ˜ ์žˆ๋Š”์ง€ ํŒ๋‹จํ–ˆ๋‹ค.
์…‹์งธ, ์ด์ƒ์น˜ ์ฒ˜๋ฆฌ, ์ฆ‰ clipping์„ ์ ์šฉํ–ˆ์„ ๋•Œ ๋ชจ๋ธ ์„ฑ๋Šฅ์ด ์‹ค์ œ๋กœ ์ข‹์•„์ง€๋Š”์ง€ ๋น„๊ตํ–ˆ๋‹ค.


2. ์˜ค๋Š˜ ์ง„ํ–‰ํ•œ ๋‚ด์šฉ

์˜ค๋Š˜์€ ๊ธฐ์กด ์ „์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ํ™•์ธํ•˜๋ฉด์„œ, ์ตœ์ข…์ ์œผ๋กœ ๋ชจ๋ธ๋ง์— ์‚ฌ์šฉํ•  ๋ฐ์ดํ„ฐ์…‹์˜ ๊ตฌ์กฐ๋ฅผ ์ ๊ฒ€ํ–ˆ๋‹ค.

์ด๋ฒˆ ๋ฐ์ดํ„ฐ๋Š” ์—ฌ๋Ÿฌ ํŒŒ์ผ์— ํฉ์–ด์ ธ ์žˆ์—ˆ๋‹ค. Laboratory ๋ฐ์ดํ„ฐ์—๋Š” ์›์ž์žฌ ํ’ˆ์งˆ ๋ณ€์ˆ˜์™€ ์ผ๋ถ€ ํ’ˆ์งˆ ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์—ˆ๊ณ , Process ๋ฐ์ดํ„ฐ์—๋Š” batch ๋‹จ์œ„์˜ ๊ณต์ • ์š”์•ฝ ์ •๋ณด๊ฐ€ ์žˆ์—ˆ๋‹ค. Normalization ๋ฐ์ดํ„ฐ์—๋Š” ์ œํ’ˆ code๋ณ„ ๋ณด์ • ์ •๋ณด๊ฐ€ ์žˆ์—ˆ์œผ๋ฉฐ, 1๋ฒˆ๋ถ€ํ„ฐ 25๋ฒˆ๊นŒ์ง€์˜ ์‹œ๊ณ„์—ด ํŒŒ์ผ์—๋Š” 10์ดˆ ๋‹จ์œ„์˜ ๊ณต์ • ์„ผ์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด ์žˆ์—ˆ๋‹ค.

์ค‘์š”ํ•œ ์ ์€ ์ตœ์ข… ํƒ€๊นƒ์ธ dissolution_av๊ฐ€ batch ๋‹จ์œ„๋กœ ํ•˜๋‚˜์”ฉ ์กด์žฌํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ž˜์„œ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋ชจ๋ธ์— ๋„ฃ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, batch์™€ code ๊ธฐ์ค€์œผ๋กœ ์š”์•ฝํ•ด์•ผ ํ–ˆ๋‹ค. ๊ฐ batch์— ๋Œ€ํ•ด ์„ผ์„œ ํ‰๊ท , ํ‘œ์ค€ํŽธ์ฐจ, ์ตœ์†Œ๊ฐ’, ์ตœ๋Œ€๊ฐ’, CV, ๊ณต์ • ์‹œ๊ฐ„, ์ƒ์‚ฐ๋Ÿ‰, ํ๊ธฐ๋Ÿ‰, ํ๊ธฐ์œจ ๋“ฑ์„ ๊ณ„์‚ฐํ•˜์—ฌ ํ•˜๋‚˜์˜ ํ–‰์œผ๋กœ ์ •๋ฆฌํ–ˆ๋‹ค.

์ฆ‰, ์ตœ์ข… ๋ฐ์ดํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๊ฐ€ ๋˜๋„๋ก ๋งŒ๋“ค์—ˆ๋‹ค.

ํ•œ ํ–‰ = ํ•˜๋‚˜์˜ batch
X = ์›์ž์žฌ ํ’ˆ์งˆ + ๊ณต์ • ์š”์•ฝ + ์ œํ’ˆ ๋ณด์ • + ์‹œ๊ณ„์—ด ๊ณต์ • ์•ˆ์ •์„ฑ ๋ณ€์ˆ˜
y = ํ‰๊ท  ์šฉ์ถœ๋ฅ  dissolution_av

๋˜ํ•œ ๊ฒฐ์ธก์น˜๋Š” ์ „์ฒ˜๋ฆฌ ๋‹จ๊ณ„์—์„œ ๋ฌด์ž‘์ • ์ฑ„์šฐ์ง€ ์•Š๊ณ , ๋ชจ๋ธ๋ง ๋‹จ๊ณ„์—์„œ train/test split ์ดํ›„ SimpleImputer ๋“ฑ์„ ์ด์šฉํ•ด ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ์ •๋ฆฌํ–ˆ๋‹ค. ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ธฐ์ค€์œผ๋กœ ๊ฒฐ์ธก์น˜๋ฅผ ๋จผ์ € ์ฑ„์šฐ๋ฉด test ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๊ฐ€ train ๊ณผ์ •์— ์„ž์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ ๋ˆ„์ˆ˜ ๊ฐ€๋Šฅ์„ฑ์ด ์ƒ๊ธด๋‹ค.


3. EDA๋ฅผ ํ†ตํ•ด ํ™•์ธํ•œ ๋ฐฉํ–ฅ

EDA์—์„œ๋Š” ์›์ž์žฌ ํ’ˆ์งˆ ๋ณ€์ˆ˜์™€ ์‹œ๊ณ„์—ด ๊ณต์ • ์•ˆ์ •์„ฑ ๋ณ€์ˆ˜๊ฐ€ ํ‰๊ท  ์šฉ์ถœ๋ฅ ๊ณผ ์–ด๋–ค ๊ด€๊ณ„๋ฅผ ๊ฐ–๋Š”์ง€ ํ™•์ธํ–ˆ๋‹ค.

์›์ž์žฌ ํ’ˆ์งˆ ๋ณ€์ˆ˜ ์ค‘์—์„œ๋Š” API ์ž…๋„, API ๋ถˆ์ˆœ๋ฌผ, Lactose ์ˆ˜๋ถ„ ๊ด€๋ จ ๋ณ€์ˆ˜๊ฐ€ ํ‰๊ท  ์šฉ์ถœ๋ฅ ๊ณผ ์•ฝํ•œ ๊ด€๊ณ„๋ฅผ ๋ณด์˜€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด api_ps05, api_l_impurity, lactose_water ๋“ฑ์ด ์ƒ๋Œ€์ ์œผ๋กœ ๋ˆˆ์— ๋„์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒ๊ด€๊ณ„์ˆ˜ ์ž์ฒด๋Š” ํฌ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ด ๋ณ€์ˆ˜๋“ค๋งŒ์œผ๋กœ ํ‰๊ท  ์šฉ์ถœ๋ฅ ์„ ๊ฐ•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ธฐ๋Š” ์–ด๋ ต๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.

์‹œ๊ณ„์—ด ๋ณ€์ˆ˜์—์„œ๋Š” CV ๋ณ€์ˆ˜๋“ค์ด ๋ˆˆ์— ๋„์—ˆ๋‹ค. ts_fom_cv, ts_tbl_speed_cv, ts_pre_comp_cv, ts_tbl_fill_cv ๋“ฑ์ด ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ธฐ์ค€์œผ๋กœ ํ‰๊ท  ์šฉ์ถœ๋ฅ ๊ณผ ์•ฝํ•œ ์–‘์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์˜€๋‹ค. CV๋Š” ํ‰๊ท  ๋Œ€๋น„ ๊ณต์ •์ด ์–ผ๋งˆ๋‚˜ ํ”๋“ค๋ ธ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ์ด๊ธฐ ๋•Œ๋ฌธ์—, ๋‹จ์ˆœํ•œ ๊ณต์ • ํ‰๊ท ๊ฐ’๋ณด๋‹ค ๊ณต์ • ์•ˆ์ •์„ฑ์„ ์„ค๋ช…ํ•˜๋Š” ๋ฐ ์˜๋ฏธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๋ณด์•˜๋‹ค.

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

๊ทธ๋ž˜์„œ ์˜ค๋Š˜์˜ ์ค‘์š”ํ•œ EDA ๊ฒฐ๋ก ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜๋‹ค.

CV ๋ณ€์ˆ˜์™€ ํ๊ธฐ์œจ์€ ๋ชจ๋ธ๋ง ํ›„๋ณด ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•  ๊ฐ€์น˜๋Š” ์žˆ์ง€๋งŒ, ๋‹จ๋…์œผ๋กœ ๊ฐ•ํ•œ ์„ค๋ช… ๋ณ€์ˆ˜๋ผ๊ณ  ๋ณด๊ธฐ๋ณด๋‹ค๋Š” ์ œํ’ˆ code์™€ ํ•จ๊ป˜ ํ•ด์„ํ•ด์•ผ ํ•œ๋‹ค.

ํŠนํžˆ ts_waste_rate๋Š” ํ๊ธฐ์œจ ์ž์ฒด๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๊ฒฐ์ธก ๋น„์œจ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ์ธก ์—ฌ๋ถ€ ์ž์ฒด๋„ ์ •๋ณด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ชจ๋ธ๋ง ๋‹จ๊ณ„์—์„œ๋Š” ts_waste_rate ๊ฐ’๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ts_waste_rate_missing ๊ฐ™์€ ๊ฒฐ์ธก ์—ฌ๋ถ€ ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉํ–ฅ์ด ์ ์ ˆํ•˜๋‹ค๊ณ  ๋ณด์•˜๋‹ค.


4. ์˜ค๋Š˜์˜ ํ•ต์‹ฌ ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ •

์˜ค๋Š˜ ๊ฐ€์žฅ ์ค‘์š”ํ–ˆ๋˜ ๋ถ€๋ถ„์€ ๋‹จ์ˆœํžˆ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์™œ ์ด ๋ฐฉํ–ฅ์œผ๋กœ ๋ชจ๋ธ๋งํ•ด์•ผ ํ•˜๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ๊ณผ์ •์ด์—ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” ์ „์ฒ˜๋ฆฌ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด ์—ฌ๋Ÿฌ ํšŒ๊ท€ ๋ชจ๋ธ์„ ๋น„๊ตํ–ˆ๋‹ค. LinearRegression, RandomForest, GradientBoosting, CatBoost ๋“ฑ์„ ์‚ฌ์šฉํ–ˆ๊ณ , ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ clipping์„ ์ ์šฉํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜๋ˆ„์–ด ์„ฑ๋Šฅ์„ ๋น„๊ตํ–ˆ๋‹ค.

clipping์€ ์ด์ƒ์น˜์˜ ์˜ํ–ฅ์„ ์ค„์ด๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์„ ํ˜• ๋ชจ๋ธ์€ ์ด์ƒ์น˜์— ๋ฏผ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— clipping์„ ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ข‹์•„์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค. ๋ฐ˜๋ฉด ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์€ ๋ณ€์ˆ˜์˜ ๋ถ„ํ•  ๊ธฐ์ค€์„ ํ•™์Šตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ ํ˜• ๋ชจ๋ธ๋ณด๋‹ค ์ด์ƒ์น˜์— ๋น„๊ต์  ๋œ ๋ฏผ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์‹ค์ œ ๊ฒฐ๊ณผ๋„ ์ด ๋ฐฉํ–ฅ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ฌ๋‹ค.

LinearRegression์€ ์›๋ณธ ๋ฐ์ดํ„ฐ์—์„œ R²๊ฐ€ ํฌ๊ฒŒ ์Œ์ˆ˜๋กœ ๋‚˜์™”๊ณ , RMSE๋„ ๋งค์šฐ ์ปธ๋‹ค. ํ•˜์ง€๋งŒ clipping์„ ์ ์šฉํ•˜์ž R²๊ฐ€ ์•ฝ 0.20 ์ˆ˜์ค€๊นŒ์ง€ ๊ฐœ์„ ๋˜์—ˆ๊ณ , RMSE์™€ MAE๋„ ํฌ๊ฒŒ ์ค„์—ˆ๋‹ค. ์ฆ‰, ์„ ํ˜• ํšŒ๊ท€๋Š” ์ด์ƒ์น˜์˜ ์˜ํ–ฅ์„ ๋งŽ์ด ๋ฐ›๊ณ  ์žˆ์—ˆ๋˜ ๊ฒƒ์œผ๋กœ ํ•ด์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ RandomForest, GradientBoosting, CatBoost ๊ฐ™์€ ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ๋“ค์€ clipping ํ›„ ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ์กฐ๊ธˆ ๋–จ์–ด์ง€๊ฑฐ๋‚˜ ํฐ ๊ฐœ์„ ์ด ์—†์—ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด CatBoost๋Š” ์›๋ณธ R²๊ฐ€ ์•ฝ 0.47์ด์—ˆ์ง€๋งŒ clipping ํ›„ ์•ฝ 0.45๋กœ ๋‚ฎ์•„์กŒ๊ณ , GradientBoosting๋„ ์›๋ณธ R² ์•ฝ 0.476์—์„œ clipping ํ›„ ์•ฝ 0.468๋กœ ์†Œํญ ๋‚ฎ์•„์กŒ๋‹ค. RandomForest ์—ญ์‹œ clipping ํ›„ R²๊ฐ€ ์†Œํญ ๊ฐ์†Œํ–ˆ๋‹ค.

์ด ๊ฒฐ๊ณผ๋ฅผ ๋ณด๊ณ  ์˜ค๋Š˜์˜ ๋ชจ๋ธ๋ง ๋ฐฉํ–ฅ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฒฐ์ •ํ–ˆ๋‹ค.

LinearRegression์€ clipping ํšจ๊ณผ๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•œ ๋น„๊ต ๋ชจ๋ธ๋กœ ์˜๋ฏธ๊ฐ€ ์žˆ์ง€๋งŒ, ์ตœ์ข… ๋ชจ๋ธ ํ›„๋ณด๋กœ๋Š” ์ ์ ˆํ•˜์ง€ ์•Š๋‹ค.
ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์€ clipping์„ ํ•˜์ง€ ์•Š์€ ์›๋ณธ ๋ฐ์ดํ„ฐ์—์„œ ๋” ์ข‹์€ ์„ฑ๋Šฅ์„ ๋ณด์˜€์œผ๋ฏ€๋กœ, ์ตœ์ข… ๋ชจ๋ธ๋ง์€ ์›๋ณธ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ GradientBoosting ๋˜๋Š” CatBoost๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ํƒ€๋‹นํ•˜๋‹ค.

ํŠนํžˆ GradientBoosting์€ ์›๋ณธ ๋ฐ์ดํ„ฐ ๊ธฐ์ค€์œผ๋กœ R²์™€ RMSE๊ฐ€ ๊ฐ€์žฅ ์•ˆ์ •์ ์œผ๋กœ ๋‚˜์™”๊ธฐ ๋•Œ๋ฌธ์— ์šฐ์„  ํ›„๋ณด๋กœ ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‹ค๋งŒ CatBoost๋„ ๋น„์Šทํ•œ ์„ฑ๋Šฅ์„ ๋ณด์—ฌ์„œ, ์ตœ์ข… ๊ฒฐ๋ก ์—์„œ๋Š” ๋‘ ๋ชจ๋ธ์„ ํ•จ๊ป˜ ๋น„๊ตํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํŒ๋‹จํ–ˆ๋‹ค.


5. ์‹œ๊ฐํ™” ๋ฐฉํ–ฅ ์„ค์ •

์˜ค๋Š˜์€ ์ตœ์ข… ๊ฒฐ๋ก ์„ ๋” ์„ค๋“๋ ฅ ์žˆ๊ฒŒ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•ด ์–ด๋–ค ์‹œ๊ฐํ™” ์ž๋ฃŒ๋ฅผ ๋งŒ๋“ค์ง€๋„ ์ •๋ฆฌํ–ˆ๋‹ค.

๋‹จ์ˆœํžˆ ๋ชจ๋ธ ์„ฑ๋Šฅ ์ˆซ์ž๋งŒ ๋ณด์—ฌ์ฃผ๋ฉด ์™œ ๊ทธ๋Ÿฐ ๊ฒฐ๋ก ์„ ๋‚ด๋ ธ๋Š”์ง€ ์„ค๋ช…ํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๊ทธ๋ž˜์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹œ๊ฐํ™”๋ฅผ ํ™œ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

๋จผ์ € ๋ชจ๋ธ๋ณ„ ์„ฑ๋Šฅ ๋น„๊ต barplot์„ ํ†ตํ•ด R², RMSE, MAE๋ฅผ ๋น„๊ตํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ๋ชจ๋ธ์ด ์ „์ฒด์ ์œผ๋กœ ์•ˆ์ •์ ์ธ ์„ฑ๋Šฅ์„ ๋ณด์˜€๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ ์›๋ณธ ๋ฐ์ดํ„ฐ์™€ clipping ๋ฐ์ดํ„ฐ์˜ ์„ฑ๋Šฅ ์ฐจ์ด๋ฅผ heatmap์œผ๋กœ ํ‘œํ˜„ํ•œ๋‹ค. ์ด ์‹œ๊ฐํ™”๋Š” clipping์ด ์–ด๋–ค ๋ชจ๋ธ์—๋Š” ๋„์›€์ด ๋˜์—ˆ๊ณ , ์–ด๋–ค ๋ชจ๋ธ์—๋Š” ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์„ ๋‚ฎ์ท„๋Š”์ง€ ํ•œ๋ˆˆ์— ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ feature correlation heatmap์„ ํ†ตํ•ด ์›์ž์žฌ ํ’ˆ์งˆ ๋ณ€์ˆ˜, CV ๋ณ€์ˆ˜, ํ๊ธฐ์œจ, ํ‰๊ท  ์šฉ์ถœ๋ฅ  ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ํ™•์ธํ•œ๋‹ค. pair plot์€ ์ฃผ์š” ๋ณ€์ˆ˜๋“ค ๊ฐ„์˜ ๋ถ„ํฌ์™€ ๊ด€๊ณ„๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํ™•์ธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ prediction vs actual ์‚ฐ์ ๋„์™€ residual plot์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋ธ์ด ์‹ค์ œ๊ฐ’์„ ์–ผ๋งˆ๋‚˜ ์ž˜ ๋”ฐ๋ผ๊ฐ€๋Š”์ง€, ํŠน์ • ๊ตฌ๊ฐ„์—์„œ ์˜ค์ฐจ๊ฐ€ ์ปค์ง€๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ฆ‰, ์˜ค๋Š˜์˜ ์‹œ๊ฐํ™” ๋ฐฉํ–ฅ์€ ๋‹จ์ˆœํžˆ ์˜ˆ์œ ๊ทธ๋ž˜ํ”„๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, EDA → ๋ชจ๋ธ๋ง → ์˜์‚ฌ๊ฒฐ์ •์˜ ํ๋ฆ„์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ์ž๋ฃŒ๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.


6. ์–ด๋ ค์› ๋˜ ์ 

๊ฐ€์žฅ ์–ด๋ ค์› ๋˜ ์ ์€ ์ƒ๊ด€๊ด€๊ณ„์™€ ์‹ค์ œ ์˜ํ–ฅ๋ ฅ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์ „์ฒด ๋ฐ์ดํ„ฐ ๊ธฐ์ค€์œผ๋กœ ๋ณด๋ฉด CV ๋ณ€์ˆ˜๋“ค์ด ํ‰๊ท  ์šฉ์ถœ๋ฅ ๊ณผ ์–ด๋А ์ •๋„ ๊ด€๊ณ„๊ฐ€ ์žˆ์–ด ๋ณด์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ œํ’ˆ code๋ฅผ ๊ณ ๋ คํ•˜๋ฉด ๊ทธ ๊ด€๊ณ„๊ฐ€ ์•ฝํ•ด์งˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด ๋ถ€๋ถ„์—์„œ ๋‹จ์ˆœํžˆ ์ƒ๊ด€๊ณ„์ˆ˜๊ฐ€ ๋†’์•„ ๋ณด์ด๋Š” ๋ณ€์ˆ˜๋ฅผ ์ค‘์š”ํ•œ ๋ณ€์ˆ˜๋ผ๊ณ  ๋งํ•˜๋ฉด ์•ˆ ๋œ๋‹ค๋Š” ์ ์„ ๋‹ค์‹œ ๋А๊ผˆ๋‹ค.

๋˜ ํ•˜๋‚˜ ์–ด๋ ค์› ๋˜ ์ ์€ clipping ๊ฒฐ๊ณผ๋ฅผ ํ•ด์„ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์ด์ƒ์น˜๋ฅผ ์ค„์ด๋ฉด ๋ชจ๋“  ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ์ข‹์•„์งˆ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ์‰ฌ์› ๋‹ค. ํ•˜์ง€๋งŒ ์‹ค์ œ ๊ฒฐ๊ณผ๋Š” ๊ทธ๋ ‡์ง€ ์•Š์•˜๋‹ค. LinearRegression์€ clipping์œผ๋กœ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ๊ฐœ์„ ๋˜์—ˆ์ง€๋งŒ, ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์€ ์˜คํžˆ๋ ค ์„ฑ๋Šฅ์ด ๋‚ฎ์•„์กŒ๋‹ค.

์ด๋ฅผ ํ†ตํ•ด ์ „์ฒ˜๋ฆฌ๋Š” ๋ฌด์กฐ๊ฑด ๋งŽ์ด ํ•œ๋‹ค๊ณ  ์ข‹์€ ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ชจ๋ธ์˜ ํŠน์„ฑ๊ณผ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ๋งž๊ฒŒ ์„ ํƒํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ๋ฐฐ์› ๋‹ค.


7. ๋А๋‚€ ์ 

์˜ค๋Š˜ ํ•™์Šต์„ ํ†ตํ•ด ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ์ ํŠธ์—์„œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ชจ๋ธ์„ ๋งŽ์ด ๋Œ๋ฆฌ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๋ฐ์ดํ„ฐ์™€ ๋ฌธ์ œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ํŒ๋‹จํ•˜๋Š”์ง€๋ผ๋Š” ๊ฒƒ์„ ๋А๊ผˆ๋‹ค.

ํŠนํžˆ ์ œ์กฐ๊ณต์ • ๋ฐ์ดํ„ฐ์—์„œ๋Š” ์ œํ’ˆ code, ์›์ž์žฌ ํ’ˆ์งˆ, ๊ณต์ • ์กฐ๊ฑด, ์‹œ๊ณ„์—ด ์•ˆ์ •์„ฑ ์ง€ํ‘œ๊ฐ€ ์„œ๋กœ ์–ฝํ˜€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ์ˆœํ•œ ์ƒ๊ด€๋ถ„์„๋งŒ์œผ๋กœ ๊ฒฐ๋ก ์„ ๋‚ด๋ฆฌ๊ธฐ ์–ด๋ ต๋‹ค. ๋”ฐ๋ผ์„œ EDA ๋‹จ๊ณ„์—์„œ “์ด ๋ณ€์ˆ˜๊ฐ€ ์ •๋ง ํƒ€๊นƒ๊ณผ ๊ด€๋ จ ์žˆ๋Š”๊ฐ€?”, “ํ˜น์‹œ ์ œํ’ˆ ์ข…๋ฅ˜ ์ฐจ์ด ๋•Œ๋ฌธ์— ๊ทธ๋ ‡๊ฒŒ ๋ณด์ด๋Š” ๊ฒƒ์€ ์•„๋‹Œ๊ฐ€?”, “์ด ๋ณ€์ˆ˜๋ฅผ ๋ชจ๋ธ์— ๋„ฃ์—ˆ์„ ๋•Œ ํ•ด์„์ƒ ๋ฌธ์ œ๊ฐ€ ์—†๋Š”๊ฐ€?”๋ฅผ ๊ณ„์† ์งˆ๋ฌธํ•ด์•ผ ํ–ˆ๋‹ค.

๋˜ํ•œ clipping ์‹คํ—˜์„ ํ†ตํ•ด ๊ฐ™์€ ์ „์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•๋„ ๋ชจ๋ธ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ํ™•์ธํ–ˆ๋‹ค. ์„ ํ˜• ๋ชจ๋ธ์€ ์ด์ƒ์น˜์— ๋ฏผ๊ฐํ•ด์„œ clipping์˜ ํšจ๊ณผ๋ฅผ ํฌ๊ฒŒ ๋ฐ›์•˜์ง€๋งŒ, ํŠธ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ชจ๋ธ์€ ์›๋ณธ ๋ฐ์ดํ„ฐ์˜ ์ •๋ณด๋ฅผ ๋” ์ž˜ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์˜€๋‹ค.

๊ฒฐ๊ตญ ์˜ค๋Š˜์˜ ๊ฐ€์žฅ ํฐ ๋ฐฐ์›€์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

EDA๋Š” ๋ชจ๋ธ๋ง ์ „์— ํ•˜๋Š” ๋‹จ์ˆœํ•œ ํ™•์ธ ์ž‘์—…์ด ์•„๋‹ˆ๋ผ, ๋ชจ๋ธ๋ง ๋ฐฉํ–ฅ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ทผ๊ฑฐ๊ฐ€ ๋œ๋‹ค.
์ „์ฒ˜๋ฆฌ๋Š” ๋ฌด์กฐ๊ฑด ๋ฐ์ดํ„ฐ๋ฅผ ๊น”๋”ํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด ์•„๋‹ˆ๋ผ, ์˜ˆ์ธก ๋ฌธ์ œ์™€ ๋ชจ๋ธ ํŠน์„ฑ์— ๋งž๊ฒŒ ํŒ๋‹จํ•ด์•ผ ํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.
์ตœ์ข… ๋ชจ๋ธ ์„ ํƒ์€ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ฐ์ดํ„ฐ ํ•ด์„๊ณผ ์˜์‚ฌ๊ฒฐ์ • ๊ณผ์ •๊นŒ์ง€ ํ•จ๊ป˜ ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.


8. ๋‹ค์Œ ํ•™์Šต ๊ณ„ํš

๋‹ค์Œ ๋‹จ๊ณ„์—์„œ๋Š” GradientBoosting๊ณผ CatBoost๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ๋ชจ๋ธ ์„ฑ๋Šฅ์„ ๋” ์ž์„ธํžˆ ๋น„๊ตํ•  ์˜ˆ์ •์ด๋‹ค.

๋˜ํ•œ feature importance๋ฅผ ํ™•์ธํ•ด์„œ ์–ด๋–ค ๋ณ€์ˆ˜๋“ค์ด ํ‰๊ท  ์šฉ์ถœ๋ฅ  ์˜ˆ์ธก์— ๋” ๋งŽ์ด ๊ธฐ์—ฌํ–ˆ๋Š”์ง€ ๋ถ„์„ํ•˜๊ณ , EDA์—์„œ ์ค‘์š”ํ•˜๊ฒŒ ๋ดค๋˜ CV ๋ณ€์ˆ˜์™€ ํ๊ธฐ์œจ ๋ณ€์ˆ˜๊ฐ€ ์‹ค์ œ ๋ชจ๋ธ์—์„œ๋„ ์˜๋ฏธ ์žˆ๊ฒŒ ์‚ฌ์šฉ๋˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ์ตœ์ข… ๋ฐœํ‘œ๋‚˜ ๋ณด๊ณ ์„œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ฑ๋Šฅ ๋น„๊ต ๊ทธ๋ž˜ํ”„, clipping ํšจ๊ณผ heatmap, correlation heatmap, pair plot, residual plot ๋“ฑ์„ ์ •๋ฆฌํ•˜์—ฌ ๋ชจ๋ธ๋ง ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ์„ค๋ช…ํ•  ๊ณ„ํš์ด๋‹ค.