๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ 337

[๋ฐ์ดํ„ฐ ๋ถ„์„] pandas ๊ธฐ์ดˆ 2

code ๊ตญ๊ฐ€์ฝ”๋“œํ‘œ ๊ตญ์ ์ฝ”๋“œ ๊ตญ์ ๋ช… 0 A01 ์ผ๋ณธ 1 A02 ๋Œ€๋งŒ 2 A03 ํ™์ฝฉ 3 A18 ์ค‘๊ตญ 4 A18 ์ด๋ž€ 5 A22 ์šฐ์ฆˆ๋ฒ ํ‚ค์Šคํƒ„ 6 A23 ์นด์žํ์Šคํƒ„ 7 A99 ์•„์‹œ์•„ ๊ธฐํƒ€ ๋ฐ์ดํ„ฐ ํ†ตํ•ฉ - ์˜†์œผ๋กœ ํ†ตํ•ฉ (merge) ๋ฐ์ดํ„ฐ ์˜†์œผ๋กœ ํ†ตํ•ฉํ•˜๊ธฐ(left ์กฐ๊ฑด) sample_1_code = pd.merge(left=arrived_1, right=code, how='left', left_on='๊ตญ์ ์ฝ”๋“œ', right_on='๊ตญ์ ์ฝ”๋“œ') left / right ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ” how='left' ์™ผ์ชฝ ํ…Œ์ด๋ธ” ๊ธฐ์ค€์œผ๋กœ ๋‘ ํ…Œ์ด๋ธ” ๊ฒฐํ•ฉ how='inner' ๋ฐ์ดํ„ฐ ์˜†์œผ๋กœ ํ†ตํ•ฉํ•˜๊ธฐ(inner ์กฐ๊ฑด) left_on right_on ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์˜ ๊ธฐ์ค€์นผ๋Ÿผ์€'๊ตญ๊ฐ€์ฝ”๋“œ' ๋งค์นญ๋˜๋Š” ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ NaN์œผ๋กœ..

[๋”ฅ๋Ÿฌ๋‹] ๋”ฅ๋Ÿฌ๋‹ ๊ตฌํ˜„ ์œ„ํ•œ ๊ฐ€์ƒํ™˜๊ฒฝ ๊ตฌ์ถ•ํ•˜๊ธฐ

ํŒŒ์ด์ฌ๊ณผ ์•„๋‚˜์ฝ˜๋‹ค ์„ค์น˜ ํ›„ ์ง„ํ–‰ conda create -n tfbook python=3.9 python=3.9 ๋Š” ๋‹ค์šด ๋ฐ›์€ ํŒŒ์ด์ฌ ๋ฒ„์ „ tfbook = ๊ฐ€์ƒํ™˜๊ฒฝ์ด๋ฆ„ conda active tfbook #ํ™˜๊ฒฝ ํ™œ์„ฑํ™” conda deactivate #๋น„ํ™œ์„ฑํ™” C๋“œ๋ผ์ด๋ธŒ anaconda3ํด๋”์˜ envsํด๋”์— tfbook์ด๋ผ๋Š” ํ™˜๊ฒฝ ์ƒ์„ฑ๋จ C:\Users\anaconda3\envs

[๋”ฅ๋Ÿฌ๋‹] ์˜คํ† ์ธ์ฝ”๋”์˜ ๊ตฌ์กฐ

์˜คํ†  ์ธ์ฝ”๋”(autoencoder) ๋”ฅ๋Ÿฌ๋‹์—์„œ์˜ ๋น„์ง€๋„ ํ•™์Šต ์ถœ๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์™€ ๋น„์Šทํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ž๊ธฐ ์ž์‹ ์„ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ• ์ž๊ธฐ ์ž์‹ ์ด ์ •๋‹ต ๋ฐ์ดํ„ฐ๋ฏธ์œผ๋กœ ๋”ฐ๋กœ ์ •๋‹ต ๋ฐ์ดํ„ฐ ํ•„์š” ์—†์Œ = ๋น„์ง€๋„ ํ•™์Šต ๋ณต์žกํ•œ ๋ฌธ์ œ ํ’€์ˆ˜ ์žˆ๋„๋ก ์ค‘๊ฐ„ ๋ ˆ์ด์–ด ๋Š˜๋ฆด ๋•Œ, ์‚ฌ์ „ ํ•™์Šต์œผ๋กœ ํ•™์Šต ์ ์ ˆํžˆ ์ด๋ฃจ์–ด์ง€๋„๋กํ•œ๋‹ค. ์ด๋•Œ ์ž…๋ ฅ ๋ ˆ์ด์–ด์ชฝ์˜ ์—ฃ์ง€ ๊ฐ€์ค‘์น˜๋Š” ์ž…๋ ฅ ๋ ˆ์ด์–ด๋กœ๋ถ€ํ„ฐ ์ „ํ•ด์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•ด์„œ ํŠน์ •๋Ÿ‰ ์ž˜ ์ถ”์ถœํ•˜๋„๋ก ์กฐ์ •๋œ๋‹ค. ์ถœ๋ ฅ ๋ ˆ์ด์–ด ์ชฝ ๊ฐ€์ค‘์น˜๋Š” ์ „๋‹ฌ๋œ ํŠน์ •๋Ÿ‰์€ ์›๋ž˜์˜ ๋ฐ์ดํ„ฐ๋กœ ์ €์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์กฐ์ • ์ด๋Ÿฌํ•œ ํ˜•ํƒœ๋กœ ์ค‘๊ฐ„ ๋ ˆ์ด์–ด๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉฐ ๊นŠ์€ ๋„คํŠธ์›Œํฌ ๊ตฌ์ถ• ํ•™์Šต ํ…Œํฌ๋‹‰ ๋ ˆ์ด์–ด๋ฅผ ๋งŽ์ด ๋งŒ๋“ค์ˆ˜๋ก ๋ณต์žกํ•œ ๊ตฌ์กฐ - ๊ณผํ•™์Šต(๊ณผ์ ํ•ฉ)์— ๋น ์งˆ ์šฐ๋ ค๊ฐ€ ์žˆ๋‹ค. ๊ณผํ•™์Šต? ํ•ด๋‹น ํ•™์Šต ๋ฐ์ดํ„ฐ์—๋Š” ์ข‹์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋กœ ํ…Œ์ŠคํŠธํ–ˆ..

[๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”] ์Šค๋ชฐ ๋ฉ€ํ‹ฐํ”Œ์ฆˆ(Small Multiples)

์ง€๋ฆฌ ์ •๋ณด๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” ์˜๋ฏธ ๋งฅ๋ฝ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ๋‹ค ์Šค๋ชฐ ๋ฉ€ํ‹ฐํ”Œ์ฆˆ ๋‹ค์ˆ˜์˜ ์‹œ๊ฐํ™” ์ฐจํŠธ ๋‚˜์—ดํ•œ Set ์žฅ์  1. ๋‹ค์ˆ˜์˜ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜์— ์ฐจํŠธ์— ํ‘œํ˜„ - ์‹ฌํ”Œ 2. ๊ฐ™์€ ํ˜•ํƒœ๋กœ ํ‘œํ˜„ - ์ฐจํŠธ ํ•˜๋‚˜๋งŒ ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฉด ๋‹ค๋ฅธ ์ฐจํŠธ๋„ ์ดํ•ด ๊ฐ€๋Šฅ 3. ํ•ญ๋ชฉ ๊ฐ„ ๋ฐ์ดํ„ฐ ๋น ๋ฅด๊ฒŒ ๋น„๊ต ๊ฐ€๋Šฅ ์Šค๋ชฐ ๋ฉ€ํ‹ฐํ”Œ์ฆˆ & ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ - ์„ ์ฐจํŠธ ์—ฌ๋Ÿฌ ํ•ญ๋ชฉ์„ ์‹œ๊ฐ์  ํŒจํ„ด์— ๋”ฐ๋ผ์„œ ๋ถ„๋ฅ˜ํ•ด ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋„์ถœ ์‹œ๊ณ„์—ด ๊ธฐ์ค€ ์ดˆ๋ฐ˜์— ๋‚จ์„ฑ์˜ ๋น„์ค‘์ด ์šฐ์„ธํ•˜๋‹ค(์ฃผํ™ฉ์ƒ‰ ์Œ์˜) ์ดํ›„ ์—ฌ์„ฑ์˜ ๋น„์ค‘์ด ์šฐ์„ธํ•˜๋‹ค(์ฒญ๋ก์ƒ‰ ์Œ์˜)๋Š” ๊ฒƒ์„ ์‹œ๊ฐ์  ํŒจํ„ด์œผ๋กœ ํ•œ๋ˆˆ์— ํ™•์ธ๊ฐ€๋Šฅ ์ฐจํŠธ ์ƒ๋‹จ์— ๋ฐฐ์น˜๋œ ํƒ€์ดํ‹€์„ ์ฝ์ง€ ์•Š๊ณ ๋„ 6๊ฐœ ์ฐจํŠธ์˜ ์‹œ๊ฐ์  ํŒจํ„ด๋งŒ์œผ๋กœ๋„ ๊ฐ ์ง์—…๋ณ„๋กœ ์šฐ์„ธํ•œ ๋น„์ค‘์„ ์ฐจ์ง€ํ•˜๋Š” ์„ฑ๋ณ„์˜ ๋ณ€๋™์ด ๋งŽ์Œ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ฐ ์ฃผ๋ณ„ ์ฐจํŠธ์˜ ๋ง‰๋Œ€๋Š” ํˆฌ์„ ํ™˜์ž..

[๋”ฅ๋Ÿฌ๋‹] ์‹ ๊ฒฝ๋ง์˜ ๊ตฌ์กฐ

์‹ ๊ฒฝ๋ง ์ž…๋ ฅ ๋ ˆ์ด์–ด - ํ•™์Šต ๋ฐ์ดํ„ฐ(์ž…๋ ฅ ๋ฐ์ดํ„ฐ) ๋ฐ›๋Š” ๋ ˆ์ด์–ด ์ถœ๋ ฅ ๋ ˆ์ด์–ด = ํ•™์Šต ๊ฒฐ๊ณผ ์ถœ๋ ฅ ์ค‘๊ฐ„ ๋ ˆ์ด์–ด(์€๋‹‰ ๋ ˆ์ด์–ด) = ๋ฐ์ดํ„ฐ์—์„œ ํŠน์ง•๋Ÿ‰์„ ์ถ”์ถœํ•˜๋Š” ๋ ˆ์ด์–ด ๊ฐ ๋ ˆ์ด์–ด์—๋Š” "โ—‹"๋กœ ํ‘œํ˜„๋˜๋Š” ๋…ธ๋“œ ๋ฐฐ์น˜, ๋…ธ๋“œ๋ผ๋ฆฌ๋Š” "-"๋กœ ํ‘œํ˜„๋˜๋Š” ์—ฃ์ง€(๋งํฌ)๋กœ ์—ฐ๊ฒฐ ์—ฃ์ง€๋Š” ๊ฐ€์ค‘์น˜๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ˆœ์ „ํŒŒ = ์ž…๋ ฅ๋ ˆ์ด์–ด๋ถ€ํ„ฐ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง ์—ญ์ „ํŒŒ = ์ถœ๋ ฅ๋ ˆ์ด์–ด๋ถ€ํ„ฐ ์™ผ์ชฝ์œผ๋กœ ๊ณ„์‚ฐ์ด ์ด๋ฃจ์–ด์ง ์ˆœ์ „ํŒŒ์˜ ๊ตฌ์กฐ ๋ฐ”๋กœ ์ „ ๋ ˆ์ด์–ด์— ์žˆ๋Š” ๋…ธ๋“œ ๊ฐ’๊ณผ ์—ฃ์ง€์˜ ๊ฐ€์ค‘์น˜๋ฅผ ๊ณฑํ•œ ๋’ค ๋ชจ๋“  ๊ฒฐ๊ณผ ๋”ํ•˜๊ธฐ ๋”ํ•œ ๊ฐ’์„ ํ™œ์„ฑํ™” ํ•จ์ˆ˜๋กœ ๋ณ€ํ™˜ -- ํ•ด๋‹น ๋…ธ๋“œ์˜ ๊ฐ’! ๋‹ค์Œ ๋…ธ๋“œ๋กœ ์ „๋‹ฌํ•œ๋‹ค. ํ•™์Šตํƒ€์ž…์— ๋”ฐ๋ฅธ ํ™œ์„ฑํ™”ํ•จ์ˆ˜: ๋ถ„๋ฅ˜ - ์†Œํ”„ํŠธ๋งฅ์Šค ํ•จ์ˆ˜ ํšŒ๊ท€(์ˆ˜์š” ์˜ˆ์ธก..) - ํ•ญ๋“ฑ ํ•จ์ˆ˜ ์—ญ์ „ํŒŒ์˜ ๊ตฌ์กฐ ์ˆœ์ „ ํŒŒ์—์„œ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ •๋‹ต ๋ฐ์ดํ„ฐ์™€..

ํ•œ๊ถŒ์œผ๋กœ ๋๋‚ด๋Š” AI ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ -1-

1. AIํ˜์‹ ์˜ ์ข…๋ฅ˜๋ถ€ํ„ฐ ์ดํ•ดํ•˜๋ผ AI ํ˜์‹ ์˜ ๋…์ž์  ์†์„ฑ์„ ์ดํ•ดํ•˜๊ณ  ํ˜์‹  ํ”„๋กœ์ ํŠธ์˜ ์ง„ํ–‰ ๋ฐฉํ–ฅ์„ ์ˆ™์ง€ํ•œ๋‹ค. AI ํ˜์‹  ? ์ธ๊ณต์ง€๋Šฅ ๊ธฐ์ˆ ๋กœ ๊ณ ๋„ํ™”๋œ ๊ธดใ…‡์„ ์ง€๋‹Œ ์ œํ’ˆ ๋ฐ ์„œ๋น„์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ , ์ƒˆ๋กœ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ฐฝ์กฐ ํ•ต์‹ฌ์š”์†Œ์•Œ๊ณ ๋ฆฌ์ฆ˜ + ๋ฐ์ดํ„ฐ + ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ = ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ ์ •๊ตํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ฐœ๋ฐœํ•˜๊ณ , ํ’๋ถ€ํ•œ ๋ฐ์ดํ„ฐ ํ•™์Šต์œผ๋กœ ์„ฑ๋Šฅ์„ ๊ณ ๋„ํ™”ํ•˜์—ฌ ์œ ์šฉํ•œ ์ œํ’ˆ ๋ฐ ์„œ๋น„์Šค์˜ ํ˜•ํƒœ๋กœ ์•ฑ์„ ๋งŒ๋“ค๊ณ  , ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ๋กœ ์ƒˆ๋กœ์šด ๊ฒฝํ—˜์  ๊ฐ€์น˜ ์ฐฝ์ถœ & ์ˆ˜์ต ์ฐฝ์ถœ AI ํ˜์‹ ์˜ ์†์„ฑ 1. Technology Push ๋ฐฉ์‹ = ๊ธฐ์ˆ ์˜ ๊ธฐ๋Šฅ์„ ์žฌํ˜„ํ•ด ์ œํ’ˆ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ์‹ , ์„ฑ์ˆ™๋œ ๊ธฐ์ˆ  ์ง€์‹, ๊ธฐ์ˆ ์  ํ†ต์ฐฐ๋ ฅ ํ•„์š” 2. AI๋Š” ํ•™์Šต์„ ํ†ตํ•ด ์„ฑ์žฅํ•œ๋‹ค. = ํ•™์Šต ํ†ตํ•œ ์„ฑ์žฅ, ์„ฑ๋Šฅ ๊ฐœ์„  3. ์šฉ๋„๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์€ AI = ํ•œ AI..

Reading 2021.04.03

[๋”ฅ๋Ÿฌ๋‹] collections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ Counter ํด๋ž˜์Šค

collections ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ Counter ํด๋ž˜์Šค ์นด์šดํ„ฐ ์ฒ˜๋ฆฌ ( ์ˆซ์ž ์„ธ๋Š” ์ฒ˜๋ฆฌ) ํ•จ์ˆ˜ ์ œ๊ณต from collections import Counter list = ['a','b','c','a','a','c'] ๋ฐฐ์—ด list์˜ ์š”์†Œ ์ถœํ˜„ ์ˆ˜๋ฅผ ์„ธ์„œ ์ถœ๋ ฅ ์ด ๋•Œ ๊ฒฐ๊ณผ๋Š” ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒํ˜• (key:value) counter = counter(list) print(counter) Counter({'a' : 3, 'c' : 2, 'b' : 1}) ์ถœํ˜„ ์ˆœ์„œ๊ฐ€ ๋†’์€ ์ˆœ๋Œ€๋กœ ํ”„๋ฆฐํŠธ most_common์˜ (๋งค๊ฐœ๋ณ€์ˆ˜ n)์„ ์ž…๋ ฅํ•˜๋ฉด ์ƒ์œ„ n ๊ฐœ์˜ ํ‚ค์™€ ๊ฐ’ ๋ฆฌํ„ด ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅํ•˜์ง€ ์•Š์œผ๋ฉด ์ „์ฒด ๋ฆฌํ„ด for elem, cnt in counter.most_common(): print(elem,cnt) a 3 c 2 b 1

[๋”ฅ๋Ÿฌ๋‹] itertools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

itertools ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ˜๋ณต ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜ ์ œ๊ณต import itertools list = [1,2,3,4,5] ์กฐํ•ฉ list์š”์†Œ์˜ ์Œ์„ ์ถ”์ถœํ•˜์—ฌ ์ถœ๋ ฅํ•œ๋‹ค for x in itertools.combinations(list,2): print(x) (1,2) (1,3) (1,4) (1,5) (2,3) (2,4) (2,5) (3,4) (3,5) (4,5) ํ•˜๋‚˜์˜ ์—ฐ์†๋œ ๋ฐฐ์—ด๋กœ ๊ฒฐํ•ฉ list์— a,b,c๋ฅผ ๊ฒฐํ•ฉํ•˜๊ณ  ์š”์†Œ ๊ฐ’ ํ”„๋ฆฐํŠธ for x in itertools.chain(list,['a','b'.'c']): print(x) 1 2 3 4 5 a b c

[๋”ฅ๋Ÿฌ๋‹] Numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

Numpy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ˆซ์ž ๊ฒŒ์‚ฐ, ๋ฐฐ์—ด ๋‹ค๋ฃจ๋Š” ํ–‰๋ ฌ ์—ฐ์‚ฐ import numpy as np array = np.array([[1,2,3],[4,5,6],[7,8,9]]) print('array=' ,array) print('์š”์†Œ์˜ ์ž๋ฃŒํ˜• : ',array.dtype) print('์š”์†Œ ์ˆ˜ : ',array.size) print('์ฐจ์› ์ˆ˜ : ',array.ndim) print('๊ฐ ์ฐจ์›์˜ ์š”์†Œ ์ˆ˜ : ',array.shape) div_array = array/2 print('๋ฐฐ์—ด ์ „์ฒด ์š”์†Œ๋ฅผ 2๋กœ ๋‚˜๋ˆ„๊ธฐ: ',div_array) div_array1 = array[0][0]/2 print('๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ฅผ 2๋กœ ๋‚˜๋ˆ„๊ธฐ: ',div_array1) array= [[1,2,3],[4,5,6],[7,8,9]..

[๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™”] ์‹œ๊ฐํ™” ์ฐจํŠธ์˜ ์š”์†Œ ํ™œ์šฉ

์ฐจํŠธ ์˜์—ญ ๋‚ด ํŠน์ • ์š”์†Œ๋ฅผ ๋”ํ•ด ์ „๋‹ฌํ•˜๊ณ ์ž ํ•˜๋Š” ์ธ์‚ฌ์ดํŠธ ์ง์ ‘์ ์œผ๋กœ ๋…ธ์ถœ ํ…์ŠคํŠธ ํ™œ์šฉ ๋ฐ์ดํ„ฐ ๋ ˆ์ด๋ธ”(๋‚ ์งœํ…์ŠคํŠธ) ์ถ”๊ฐ€ ๋ฐ”๋กœ ์ธ์‚ฌ์ดํŠธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก Annotation(์ฃผ์„) ๋‹ฌ์•„ ๋ถ€์—ฐ ์„ค๋ช…์„ ์ฐจํŠธ ์˜์—ญ ๋‚ด์— ํ‘œ์‹œ ์„  ํ™œ์šฉ ๋ฐ์ดํ„ฐ ํ•ด์„์— ๋„์›€๋˜๋Š” ๋ถ€๊ฐ€ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•จ ์ฐธ์กฐ์„  ํ‰๊ท ๋ณด๋‹ค ๋งŽ์€์ง€ ์ ์€์ง€ ์‰ฝ๊ฒŒ ํŒ๋‹จ ๊ฐ€๋Šฅ ์ถ”์„ธ์„  ๋ฐ์ดํ„ฐ ์ถ”์ด์˜ ๊ฒฝํ–ฅ์„ ๋ณด์—ฌ์คŒ ์ฆ๊ฐ€์ถ”์„ธ, ๊ฐ์†Œ์ถ”๊ฒŒ, ๊ธฐ์šธ๊ธฐ = ๋ฐ์ดํ„ฐ ๋ณ€ํ™”์˜ ํญ ์ƒ‰ ํ™œ์šฉ ํšŒ์ƒ‰ ๋ฐ”ํƒ•์— ํŒŒ๋ž‘์ƒ‰์œผ๋กœ ๊ฐ•์กฐ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ์— ์ง‘์ค‘ ์ง€๋„ ๋ฐ์ดํ„ฐ์˜ ํฌ๊ธฐ๋ฅผ ์ƒ‰์œผ๋กœ ํ‘œํ˜„ํ•œ ํžˆํŠธ๋งต ์ •์ „์ด๋ผ๋Š” ์ฃผ์ œ - ๊ฒ€์€ ๋ฐฐ๊ฒฝ ์ธ์‚ฌ์ดํŠธ ์ „๋‹ฌ ํšจ๊ณผ ๊ทน๋Œ€ํ™” ํŠน์ • ๋ถ€๋ถ„๋งŒ ์ž˜๋ผ ๋ณ„๊ฐœ์˜ ์ฐจํŠธ ์‚ฝ์ž