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

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

[๋‚ด์ผ๋ฐฐ์›€์บ ํ”„] ํŒ€ํ”„๋กœ์ ํŠธ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๋ฐ EDA

ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋‹ˆ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ์ค‘์š”ํ•œ ๊ฒƒ์ด ํ•˜๋‚˜ ์žˆ์—ˆ๋‹ค.

๋ฐ”๋กœ '์šฐ๋ฆฌ๊ฐ€ ๋ฌด์—‡์„ ์˜ˆ์ธกํ•˜๋ ค๋Š”๊ฐ€'๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •ํ•˜๋Š” ๊ฒƒ์ด์—ˆ๋‹ค.

์ฒ˜์Œ์—๋Š” '์˜์•ฝํ’ˆ ์ตœ์ข… ํ’ˆ์งˆ ์˜ˆ์ธก AI ๋ชจ๋ธ ๊ฐœ๋ฐœ'์ด๋ผ๋Š” ํฐ ๋ชฉํ‘œ๋งŒ ๊ฐ€์ง€๊ณ  ์‹œ์ž‘ํ–ˆ์ง€๋งŒ, ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ดํŽด๋ณด๋ฉด์„œ ์ด ๋ชฉํ‘œ๋Š” ๋„ˆ๋ฌด ํฌ๊ด„์ ์ด๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

์ตœ์ข… ํ’ˆ์งˆ์ด๋ผ๊ณ  ํ•ด๋„ ์šฉ์ถœ๋ฅ , ๋ถˆ์ˆœ๋ฌผ, ์ž”๋ฅ˜์šฉ๋งค ๋“ฑ ์—ฌ๋Ÿฌ ํ’ˆ์งˆ ์ง€ํ‘œ๊ฐ€ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ํ‰๊ท  ์šฉ์ถœ๋ฅ (dissolution_av)์„ ์ตœ์ข… ์˜ˆ์ธก ๋Œ€์ƒ(Target) ์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.


๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋‹ค์‹œ ์ •fl

๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์‹œ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๋ฉด์„œ ๊ฐ ํŒŒ์ผ์˜ ์—ญํ• ๋„ ์ •๋ฆฌํ–ˆ๋‹ค.

  • Laboratory.csv : ์›์ž์žฌ ํ’ˆ์งˆ ์ •๋ณด์™€ ์ตœ์ข… ํ’ˆ์งˆ ์ธก์ •๊ฐ’
  • Process.csv : ๊ณต์ • ์š”์•ฝ ๋ฐ์ดํ„ฐ
  • Normalization.csv : ์ œํ’ˆ๋ณ„ ์ •๊ทœํ™” ์ •๋ณด
  • 1~25.csv : 10์ดˆ ๋‹จ์œ„ ๊ณต์ • ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ

์ด ์ค‘ ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ๋Š” Laboratory์™€ Process ๋ฐ์ดํ„ฐ๋ฅผ batch์™€ code๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๋ณ‘ํ•ฉํ•˜์—ฌ ๋ถ„์„์„ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค.

๋ถ„์„์˜ ๊ธฐ๋ณธ ๋‹จ์œ„๋Š” ๋ฐฐ์น˜(batch) 1๊ฐœ = ๋ฐ์ดํ„ฐ 1ํ–‰์ด๋‹ค.


๋ฐ์ดํ„ฐ ๋ˆ„์ˆ˜(Data Leakage)๋„ ๊ณ ๋ คํ•˜๊ธฐ

Target์„ dissolution_av๋กœ ์ •ํ•˜๊ณ  ๋‚˜๋‹ˆ ํ•จ๊ป˜ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š” ์ปฌ๋Ÿผ๋“ค๋„ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ฒฐ์ •๋๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Process ๋ฐ์ดํ„ฐ์—๋Š”

  • Drug release average (%)
  • Drug release min (%)
  • Residual solvent
  • Total impurities
  • Impurity O
  • Impurity L

๊ฐ™์€ ์ตœ์ข… ํ’ˆ์งˆ ์ •๋ณด๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์—ˆ๋‹ค.

์ด ๊ฐ’๋“ค์€ ์‹ค์ œ ์˜ˆ์ธก ์‹œ์ ์—๋Š” ์•Œ ์ˆ˜ ์—†๋Š” ๊ฒฐ๊ณผ๊ฐ’์ด๊ธฐ ๋•Œ๋ฌธ์— ์ž…๋ ฅ ๋ณ€์ˆ˜(X)๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋ธ์ด ์ •๋‹ต์„ ๋ฏธ๋ฆฌ ์ฐธ๊ณ ํ•˜๋Š” ๊ฒƒ๊ณผ ๋‹ค๋ฅด์ง€ ์•Š๋‹ค.

๊ทธ๋ž˜์„œ ์ด๋Ÿฌํ•œ ์ปฌ๋Ÿผ๋“ค์€ ๋ฐ์ดํ„ฐ ๋ˆ„์ˆ˜ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด ์ œ๊ฑฐํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค.

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


๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ ๋ฐฉํ–ฅ ๊ฒฐ์ •

๋ณ‘ํ•ฉํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•ด ๋ณด๋‹ˆ ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์—์„œ ๊ฒฐ์ธก์น˜๊ฐ€ ๋ฐœ๊ฒฌ๋๋‹ค.

ํŠนํžˆ API ๊ด€๋ จ ๋ณ€์ˆ˜๋“ค์€ ๋ฌธ์ž์—ด๋กœ ์ €์žฅ๋˜์–ด ์žˆ์—ˆ๊ณ , ๊ณต๋ฐฑ ๋ฌธ์ž ๋•Œ๋ฌธ์— ์ˆซ์ž๋กœ ์ธ์‹๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์—ˆ๋‹ค.

๋จผ์ € ๊ณต๋ฐฑ์„ NaN์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์ž๋ฃŒํ˜•์„ ์ˆซ์ž(float)๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค.

์ดํ›„์—๋Š” ์ค‘์•™๊ฐ’(Median)์„ ์ด์šฉํ•ด ๊ฒฐ์ธก์น˜๋ฅผ ์ฑ„์› ๋‹ค.

for col in median_cols:
    df[col] = df[col].fillna(df[col].median())

๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ ํ›„ ๋‹ค์‹œ ํ™•์ธํ•ด ๋ณด๋‹ˆ ๋ชจ๋“  ๋Œ€์ƒ ์ปฌ๋Ÿผ์˜ ๊ฒฐ์ธก์น˜๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ œ๊ฑฐ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

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


์ „์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚ฌ๋‹ค๊ณ  ํ•ด์„œ ๋ฐ”๋กœ ๋ชจ๋ธ๋ง์„ ํ•˜๋ฉด ์•ˆ ๋˜๋Š” ์ด์œ 

์ „์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚ฌ๋‹ค๊ณ  ๋ฐ”๋กœ ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์กฐ๊ธˆ ์ด๋ฅธ ๋‹จ๊ณ„๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค.

๊ทธ ์ „์— ๋จผ์ € ํ•ด์•ผ ํ•  ์ž‘์—…์€ EDA(ํƒ์ƒ‰์  ๋ฐ์ดํ„ฐ ๋ถ„์„) ์ด๋‹ค.

EDA์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์„ ํ™•์ธํ•  ์˜ˆ์ •์ด๋‹ค.

  • ๋ณ€์ˆ˜๋“ค์˜ ๋ถ„ํฌ
  • ์ด์ƒ์น˜ ์กด์žฌ ์—ฌ๋ถ€
  • ๋ณ€์ˆ˜ ๊ฐ„ ๊ด€๊ณ„
  • Target๊ณผ์˜ ์ƒ๊ด€์„ฑ
  • ์ œํ’ˆ(Code)๋ณ„ ํ’ˆ์งˆ ์ฐจ์ด

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


EDA๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ•˜๊ธฐ ์œ„ํ•œ ์ค€๋น„

์ปฌ๋Ÿผ์ด 80๊ฐœ๊ฐ€ ๋„˜๋‹ค ๋ณด๋‹ˆ ํ•˜๋‚˜์”ฉ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๋Š” ๊ฒƒ์€ ํ˜„์‹ค์ ์œผ๋กœ ์–ด๋ ค์› ๋‹ค.

์ฒ˜์Œ์—๋Š” Target์ธ dissolution_av๋งŒ ์‹œ๊ฐํ™”ํ•˜๋ฉด ๋ ๊นŒ ์ƒ๊ฐํ–ˆ์ง€๋งŒ, ํ”„๋กœ์ ํŠธ ๊ด€์ ์—์„œ๋Š” ์ž…๋ ฅ ๋ณ€์ˆ˜(X)๋“ค์˜ ๋ถ„ํฌ๋„ ํ•จ๊ป˜ ํ™•์ธํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์•Œ๊ฒŒ ๋๋‹ค.

๊ทธ๋ž˜์„œ ๋ชจ๋“  ์ˆ˜์น˜ํ˜• ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์ž๋™์œผ๋กœ

  • ํžˆ์Šคํ† ๊ทธ๋žจ
  • ๋ฐ•์Šคํ”Œ๋กฏ
  • ์ด์ƒ์น˜ ๊ฐœ์ˆ˜(IQR ๊ธฐ์ค€)
  • ๊ธฐ์ดˆ ํ†ต๊ณ„๋Ÿ‰

์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” EDA ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค๊ธฐ๋กœ ํ–ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด ๋‘๋ฉด ์ „์ฒ˜๋ฆฌ ์ „๊ณผ ํ›„๋ฅผ ๋™์ผํ•œ ์ฝ”๋“œ๋กœ ๋น„๊ตํ•  ์ˆ˜ ์žˆ๊ณ , ์ดํ›„ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๊ทธ๋Œ€๋กœ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.


์˜ค๋Š˜ ์ •๋ฆฌ

์˜ค๋Š˜์€ ์ƒˆ๋กœ์šด ๋ชจ๋ธ์„ ๋งŒ๋“  ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ ํ”„๋กœ์ ํŠธ์˜ ๋ฐฉํ–ฅ์„ ๋‹ค์‹œ ํ•œ๋ฒˆ ์ •๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด์—ˆ๋‹ค.

ํŠนํžˆ ๋ฌด์—‡์„ ์˜ˆ์ธกํ•  ๊ฒƒ์ธ์ง€(Target ์„ ์ •) ์™€ ๋ฐ์ดํ„ฐ ๋ˆ„์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐฉ์ง€ํ•  ๊ฒƒ์ธ์ง€๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •๋ฆฌํ•˜๋ฉด์„œ ์•ž์œผ๋กœ ์ง„ํ–‰ํ•ด์•ผ ํ•  ๋ถ„์„ ๋ฐฉํ–ฅ๋„ ํ›จ์”ฌ ์„ ๋ช…ํ•ด์กŒ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„์—์„œ๋Š” ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•œ ์‹œ๊ฐํ™” ์ž๋ฃŒ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ EDA๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์–ด๋–ค ๋ณ€์ˆ˜๋“ค์ด ํ‰๊ท  ์šฉ์ถœ๋ฅ ์— ์˜ํ–ฅ์„ ์ฃผ๋Š”์ง€ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•ด ๋ณผ ์˜ˆ์ •์ด๋‹ค.

๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ๋ณด๋‹ค ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ณผ์ •์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ๋‹ค์‹œ ํ•œ๋ฒˆ ๋А๋‚€ ํ•˜๋ฃจ์˜€๋‹ค.