๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๐Ÿค– AI/๊ฐœ๋ฐœ๊ณต๋ถ€ (5)

Done is Better Than Perfect

[Fluent Python ์Šคํ„ฐ๋””] Study Note #1 Data Model

โ˜ข๏ธ ํŒŒ์ด์ฌ์œผ๋กœ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€๋ฅผ ํ•  ๋งŒํผ ํŒŒ์ด์ฌ์— ์ต์ˆ™ํ•˜์ง€๋งŒ ํŒŒ์ด์ฌ์˜ ์„ธ๊ณ„๋Š” ๊ณต๋ถ€ํ• ์ˆ˜๋ก ๋”์šฑ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค.  โ˜ข๏ธํŒŒ์ด์ฌ์œผ๋กœ ํ•™์ˆ  ๊ณต๋ถ€๋ฅผ ํ•˜๋ ค๋ฉด ์ œ๋Œ€๋กœ ์•Œ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ต์ˆ˜๋‹˜์˜ ์ถ”์ฒœ๊ณผ ํŒŒ์ด์ฌ์Šค๋Ÿฌ์›€(pythonic)์„ ๊นŠ์ด์žˆ๊ฒŒ ์ดํ•ดํ•˜๊ณ ์ž'Fluent Python' ์Šคํ„ฐ๋””๋ฅผ ์‹œ์ž‘ํ•˜์˜€๋‹ค.  1-1. Python Data Model, Special MethodโŒAbstractํŒŒ์ด์ฌ์ด ์ฒ˜์Œ ๋ฐฐ์šธ ๋•Œ ์ข‹์€ ์–ธ์–ด๋ผ๊ณ  ์ž์ฃผ ์–ธ๊ธ‰๋˜๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜๋Š” ์–ธ์–ด์˜ ์ผ๊ด€์„ฑ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, object์˜ ๊ฒฝ์šฐ len( ) ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํฌ๊ธฐ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์ด์™€ ์ผ๊ด€๋˜๊ฒŒ, ์‚ฌ์šฉ์ž ์ •์˜ ํด๋ž˜์Šค๋Š” __len__( )์™€ ๊ฐ™์€ ํŠน์ˆ˜ ๋ฉ”์„œ๋“œ๋ฅผ ๊ตฌํ˜„ํ•  ๋•Œ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ๐Ÿ’ก Python magic methodํŠน..

[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜, ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜

์˜ค๋Š˜์€ ํŒŒ์ด์ฌ์˜ ๊ธฐ์ดˆ์ค‘์˜ ๊ธฐ์ดˆ! ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜์™€ ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜๋ฅผ ํ’€์–ด๋ณด์ž!! ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜(Greatest Common Divisor)๋Š” ๊ณต์•ฝ์ˆ˜ ์ค‘์— ๊ฐ€์žฅ ํฐ ์ˆ˜ ์ด๋‹ค.  ๊ณต์•ฝ์ˆ˜๋Š” ๋™์‹œ์— ๊ทธ๋“ค ๋ชจ๋‘์˜ ์•ฝ์ˆ˜์ธ ์ •์ˆ˜์ด๋‹ค. ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜(Least Common Multiple)๋Š”  ๊ณต๋ฐฐ์ˆ˜ ์ค‘์— ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜ ์ด๋‹ค. ๊ณต๋ฐฐ์ˆ˜๋Š” ๋™์‹œ์— ๊ทธ๋“ค ๋ชจ๋‘์˜ ๋ฐฐ์ˆ˜์ธ ์ •์ˆ˜์ด๋‹ค.  1. ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜ GCD(Greatest Common Divisor) ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์ด๋ž€?2๊ฐœ์˜ ์ž์—ฐ์ˆ˜(๋˜๋Š” ์ •์‹) a, b ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋Š” b์™€ a-b์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์™€ ๊ฐ™๋‹ค. (a>b) ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• - ์œ„ํ‚ค๋ฐฑ๊ณผ, ์šฐ๋ฆฌ ๋ชจ๋‘์˜ ๋ฐฑ๊ณผ์‚ฌ์ „์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•(-ไบ’้™คๆณ•, Euclidean algorithm) ๋˜๋Š” ์œ ํด๋ฆฌ๋“œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ 2๊ฐœ์˜ ์ž์—ฐ์ˆ˜ ๋˜๋Š” ์ •์‹(ๆ•ดๅผ)์˜ ์ตœ๋Œ€..

[๋”ฅ๋Ÿฌ๋‹] ์„ ํ˜• ํšŒ๊ท€์™€ ์ตœ์†Œ ์ œ๊ณฑ๋ฒ•

๋”ฅ๋Ÿฌ๋‹์˜ ๊ฐ€์žฅ ๋ง๋‹จ์—์„œ ์ด๋ฃจ์–ด์ง€๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋‘๊ฐ€์ง€ ๊ณ„์‚ฐ ์›๋ฆฌ๊ฐ€ ์žˆ๋‹ค. 1. ์„ ํ˜• ํšŒ๊ท€(linear regression)  2. ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€(logistic regression) ์˜ค๋Š˜์€ ๋จผ์ € ์„ ํ˜•ํšŒ๊ท€๋ฅผ ์•Œ์•„๋ณด๋„๋ก ํ•˜์ž!  ์„ ํ˜• ํšŒ๊ท€ linear regression์„ ํ˜•ํšŒ๊ท€๋Š” ์ข…์†๋ณ€์ˆ˜(y)์™€ ํ•œ ๊ฐœ ์ด์ƒ์˜ ๋…๋ฆฝ ๋ณ€์ˆ˜(x1, x2...)์˜ ์„ ํ˜•๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋ง ํ•˜๋Š” ํšŒ๊ท€๋ถ„์„ ๊ธฐ๋ฒ•์ด๋‹ค.๋…๋ฆฝ ๋ณ€์ˆ˜๊ฐ€ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ๋ฅผ ๋‹จ์ˆœ ์„ ํ˜•ํšŒ๊ท€๋ผ ํ•˜๊ณ , ๋‘˜ ์ด์ƒ์ธ ๊ฒฝ์šฐ ๋‹ค์ค‘ ์„ ํ˜•ํšŒ๊ท€๋ผ ํ•œ๋‹ค.  ์„ ํ˜• ํšŒ๊ท€๋Š” ์„ ํ˜• ์˜ˆ์ธก ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ํšŒ๊ท€์‹์„ ๋ชจ๋ธ๋งํ•œ๋‹ค. ์•Œ๋ ค์ง€์ง€ ์•Š์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์˜ˆ์ธกํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ํšŒ๊ท€์‹์„ ์„ ํ˜• ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•œ๋‹ค. ์„ ํ˜•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ผ์ฐจํ•จ์ˆ˜์˜ ํ˜•ํƒœ๋ฅผ ๋ˆ๋‹ค.y = ax + b ์„ ํ˜• ํšŒ๊ท€์˜ ๋ชฉ..