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

Jupyter Notebook: ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž์˜ ํ•„์ˆ˜ ๋„๊ตฌ

by ๐Ÿ’ฒ๐ŸŽตโœ–๏ธโœ”๏ธโ˜ผ 2022. 12. 2.
728x90

Jupyter Notebook: ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž์˜ ํ•„์ˆ˜ ๋„๊ตฌ

Jupyter๋Š” ์ˆ˜์‹ญ ๊ฐ€์ง€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์–‘๋ฐฉํ–ฅ ์ปดํ“จํŒ…์„ ์œ„ํ•œ ์˜คํ”ˆ ์†Œ์Šค ์†Œํ”„ํŠธ์›จ์–ด ๋ฐ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ๋ฐœ๋œ ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ฐ์ดํ„ฐ ๊ณผํ•™ ๋ฐ ์—ฐ๊ตฌ ๋ถ„์•ผ์—์„œ ํญ๋„“๊ฒŒ ์‚ฌ์šฉ๋˜๋ฉฐ, ํŠนํžˆ Jupyter Notebook์€ ๋ผ์ด๋ธŒ ์ฝ”๋“œ, ๋ฐฉ์ •์‹, ์‹œ๊ฐํ™”, ์„ค๋ช… ํ…์ŠคํŠธ๊ฐ€ ํฌํ•จ๋œ ๋ฌธ์„œ๋ฅผ ๋งŒ๋“ค๊ณ  ๊ณต์œ ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

Jupyter Notebook์˜ ํ™œ์šฉ

Jupyter Notebook์€ ๋‹ค์–‘ํ•œ ์šฉ๋„๋กœ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์‚ฌ์šฉ ์‚ฌ๋ก€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  1. ๋ฐ์ดํ„ฐ ์ •๋ฆฌ ๋ฐ ๋ณ€ํ™˜: Jupyter Notebook์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž๊ฐ€ ๋น ๋ฅด๊ฒŒ ํ”„๋กœํ† ํƒ€์ž…์„ ๋งŒ๋“ค๊ณ  ํƒ์ƒ‰์  ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์ˆ˜์น˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜: ๋‹ค์–‘ํ•œ ์ˆ˜์น˜ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์ž‘์—…์„ Jupyter Notebook์—์„œ ํšจ๊ณผ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ํ†ต๊ณ„ ๋ชจ๋ธ๋ง: Jupyter Notebook์€ ํ†ต๊ณ„ ๋ชจ๋ธ๋ง ๋ฐ ๋จธ์‹ ๋Ÿฌ๋‹ ์ž‘์—…์„ ์ง€์›ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž๊ฐ€ ๋ชจ๋ธ์„ ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”: ์‹œ๊ฐํ™”๋Š” ๋ฐ์ดํ„ฐ ์ดํ•ด๋ฅผ ๋•๋Š” ์ค‘์š”ํ•œ ์š”์†Œ์ž…๋‹ˆ๋‹ค. Jupyter Notebook์€ ๋‹ค์–‘ํ•œ ์‹œ๊ฐํ™” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ง๊ด€์ ์œผ๋กœ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋„์™€์ค๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง๊ณผ์˜ ์—ฐ๊ณ„

Jupyter๋Š” ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ๋ถ„์•ผ์—์„œ๋„ ํ™œ์šฉ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Scala๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋Š” ์ŠคํŠธ๋ฆฌ๋ฐ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ง‘๊ณ„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ž‘์—…์„ Jupyter Notebook์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ง‘๊ณ„๋Š” SQL ๋ฐ BI ๋„๊ตฌ(ex. Tableau)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ถ„์„ ์—”์ง€๋‹ˆ์–ด์—๊ฒŒ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ, ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž๋Š” Jupyter Notebook์„ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์ง‘๊ณ„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒˆ๋กœ์šด ์ŠคํŠธ๋ฆฌ๋ฐ ์••์ถ• ๋ชจ๋ธ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์—ญํ•  ๊ฐ„์— ํ˜‘์—…๊ณผ ์œ ์—ฐ์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ, ํ”„๋กœ์ ํŠธ์˜ ๋‹ค์–‘ํ•œ ๋‹จ๊ณ„์—์„œ ํ™œ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ๊ณผํ•™ ์›Œํฌํ”Œ๋กœ์šฐ์™€์˜ ์ผ์น˜

Jupyter Notebook์€ ๋ฐ์ดํ„ฐ ๊ณผํ•™ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์— ์œ ์šฉํ•˜๊ฒŒ ํ™œ์šฉ๋ฉ๋‹ˆ๋‹ค:

  1. ๋ฐ์ดํ„ฐ ํƒ์ƒ‰: ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์— ๋ฐœ์ƒํ•˜๋ฉฐ, ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ, ํ†ต๊ณ„ ํ”„๋กœํŒŒ์ผ๋ง, ํƒ์ƒ‰์  ๋ถ„์„์„ ์œ„ํ•œ ์ฟผ๋ฆฌ ์‹คํ–‰, ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋“ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ๋ฐ์ดํ„ฐ ์ค€๋น„: ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์œผ๋กœ, ๋ฐ์ดํ„ฐ ์ •๋ฆฌ, ํ‘œ์ค€ํ™”, ๋ณ€ํ™˜, ๋น„์ •๊ทœํ™” ๋ฐ ์ง‘๊ณ„๊ฐ€ ์ฃผ์š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.
  3. ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ: ์ผ๋ฐ˜์ ์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ „/ํ›„ ๋‹จ๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๋ฉฐ, ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ ๋ณด๊ธฐ, ํ†ต๊ณ„ ํ”„๋กœํŒŒ์ผ๋ง, ์ง‘๊ณ„ ๋ถ„์„, ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋“ฑ์ด ์ˆ˜๋ฐ˜๋ฉ๋‹ˆ๋‹ค.
  4. ์ƒ์‚ฐํ™”: ํ”„๋กœ์ ํŠธ ํ›„๋ฐ˜์— ๋ฐœ์ƒํ•˜๋ฉฐ, ์ฝ”๋“œ ๋ฐฐํฌ, ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ด€๋ฆฌ, ๋ฐฑํ•„ ์ž‘์—…, ๋ชจ๋ธ ํ•™์Šต, ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ์›Œํฌํ”Œ๋กœ์šฐ ์˜ˆ์•ฝ ๋“ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Jupyter์˜ ๋งค๋ ฅ์ ์ธ ํŠน์ง•

Jupyter Notebook์ด ๋งค๋ ฅ์ ์ธ ์ด์œ ๋Š” ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค:

  1. ์–ธ์–ด์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š” ์ฝ”๋“œ ์‹คํ–‰: ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๊ฒ€์‚ฌํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์‹œ์ง• ํ”„๋กœํ† ์ฝœ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  2. ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ ํ˜•์‹: ์ฝ”๋“œ, ์ฝ”๋“œ ์ถœ๋ ฅ, ๋งˆํฌ๋‹ค์šด ๋ฉ”๋ชจ ๋“ฑ์„ ์„ค๋ช…ํ•˜๊ณ  ์บก์ฒ˜ํ•  ์ˆ˜ ์žˆ๋Š” ํŽธ์ง‘ ๊ฐ€๋Šฅํ•œ ํŒŒ์ผ ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  3. ์›น ๊ธฐ๋ฐ˜ UI: ๋Œ€ํ™”์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜๋ฉฐ, ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•˜๊ธฐ ์œ„ํ•œ ์›น ๊ธฐ๋ฐ˜ UI๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Jupyter ํ”„๋กœํ† ์ฝœ์˜ ์ค‘์š”์„ฑ

Jupyter ํ”„๋กœํ† ์ฝœ์€ ๊ณ„์‚ฐ ์—”์ง„๊ณผ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ํ‘œ์ค€ ๋ฉ”์‹œ์ง• API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Jupyter๋Š” ๋‹ค์–‘ํ•œ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ์ปค๋„๊ณผ ํ†ต์‹ ํ•˜๋ฉฐ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ฝ”๋“œ์™€ ๊ฒฐ๊ณผ๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•˜๋Š” ํŒŒ์ผ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‚˜์ค‘์— ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๊ฒฐ๊ณผ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

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

๋Œ“๊ธ€