Artificial Intelligence/Studying 14

Linear regression

* ์‹ค์Šต ์†Œ์Šค ์ฝ”๋“œ : github.com/nsbg/AI Regression (toward the mean) ์–ด๋–ค ๋ฐ์ดํ„ฐ๋“ค์ด ๊ต‰์žฅํžˆ ํฌ๊ฑฐ๋‚˜ ์ž‘๋”๋ผ๋„ ์ „์ฒด์ ์œผ๋กœ ๋ณด๋ฉด ์ด ๋ฐ์ดํ„ฐ๋“ค์€ ์ „์ฒด ํ‰๊ท ์œผ๋กœ ํšŒ๊ท€ํ•˜๋ ค๋Š” ํŠน์ง•์„ ๊ฐ–๋Š”๋‹ค. ∴ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋“ค์ด ์„ ํ˜•์ ์ธ ์ฆ๊ฐ€/๊ฐ์†Œ ๊ด€๊ณ„์— ์žˆ์„ ๋•Œ ์ด ๊ด€๊ณ„๋ฅผ ๋ถ„์„ํ•˜๋Š” ๊ฒƒ Linear Regression ์„ ํ˜• ํšŒ๊ท€ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์žฅ ์ž˜ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋Š” ์ง์„ ์˜ ๋ฐฉ์ •์‹์„ ์ฐพ๋Š” ๊ฒƒ ∴ ๋ฐ์ดํ„ฐ(ํŒŒ๋ž€์ƒ‰ ์ )๋“ค์„ ๊ฐ€์žฅ ์ž˜ ๋‚˜ํƒ€๋‚ด๋Š” ์ง์„ ์˜ ๋ฐฉ์ •์‹(๋นจ๊ฐ„์ƒ‰ ์„ ) ๊ธฐ์šธ๊ธฐ์™€ y ์ ˆํŽธ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ Hypothesis & Loss(=Cost, Error) Hypothesis : H(x) = Wx+b → ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ผ ๊ฒฝ์šฐ Wx Loss : H(x)-y (y๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ → ํŒŒ๋ž€์ƒ‰ ์ ) cf. ์–ด๋–ค..

[๋จธ์‹ ๋Ÿฌ๋‹ ๊ต๊ณผ์„œ] Ch04 ์ข‹์€ ํ›ˆ๋ จ ์„ธํŠธ ๋งŒ๋“ค๊ธฐ : ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

4.1 ๋ˆ„๋ฝ๋œ ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ 4.1.1 ํ…Œ์ด๋ธ” ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ์—์„œ ๋ˆ„๋ฝ๋œ ๊ฐ’ ์‹๋ณ„ csv_data = \ '''A, B, C, D 1.0, 2.0, 3.0, 4.0 5.0, 6.0, , 8.0 10.0, 11.0, 12.0 ''' df = pd.read_csv(StringIO(csv_data)) df Output โ—ฝ DataFrame์ด ์•„์ฃผ ํด ๊ฒฝ์šฐ ์ˆ˜๋™์œผ๋กœ ๋ˆ„๋ฝ ๊ฐ’์„ ์ฐพ๋Š” ๊ฒƒ์€ ๋ฒˆ๊ฑฐ๋กœ์›€ → isnull method ์‚ฌ์šฉ โ—ฝ isnull : ์…€์ด ์ˆ˜์น˜ ๊ฐ’์„ ๋‹ด๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์ด ์ฑ„์›Œ์ง„ DataFrame ๋ฐ˜ํ™˜ # sum method ์ด์šฉํ•ด ๋ˆ„๋ฝ๋œ ๊ฐ’์˜ ๊ฐœ์ˆ˜ ํ™•์ธ ๊ฐ€๋Šฅ df.isnull().sum() 4.1.2 ๋ˆ„๋ฝ๋œ ๊ฐ’์ด ์žˆ๋Š” ์ƒ˜ํ”Œ(ํ–‰)์ด๋‚˜ ํŠน์„ฑ(์—ด) ์ œ์™ธ โ—ฝ ๋ฐ์ดํ„ฐ์…‹์—์„œ ํ•ด๋‹น ์ƒ˜ํ”Œ์ด๋‚˜ ํŠน์„ฑ์„ ์•„..

[๋จธ์‹ ๋Ÿฌ๋‹ ๊ต๊ณผ์„œ] Ch03 ๋‚ด์šฉ ์ •๋ฆฌ (์•„์ง ์ˆ˜์ • ์ค‘)

3์žฅ ์ด๋ฆ„์ด ์‚ฌ์ดํ‚ท๋Ÿฐ์„ ํƒ€๊ณ  ๋– ๋‚˜๋Š” ๋จธ์‹  ๋Ÿฌ๋‹ ๋ถ„๋ฅ˜ ๋ชจ๋ธ ํˆฌ์–ธ๋ฐ ๋ญ”๊ฐ€ ๊ท€์—ฝ๋‹ค ใ…‹ใ…‹ใ…‹ ๊ณ„์† ์ž„์‹œ์ €์žฅ์ด์—ˆ๋‹ค๊ฐ€ ๋“œ๋””์–ด ์˜ฌ๋ฆฌ๋Š”,,,ใ…Ž ๋จธ์“ฑ ใ€œ(๏ฟฃโ–ฝ๏ฟฃใ€œ)(ใ€œ๏ฟฃโ–ฝ๏ฟฃ)ใ€œ โœ” 3.1 ๋ถ„๋ฅ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ ๋ถ„๋ฅ˜ ๋ชจ๋ธ์˜ ์˜ˆ์ธก ์„ฑ๋Šฅ๊ณผ ๊ณ„์‚ฐ ์„ฑ๋Šฅ์€ ํ•™์Šต์— ์‚ฌ์šฉํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ์— ํฌ๊ฒŒ ์˜์กด 1๏ธโƒฃ ํŠน์„ฑ์„ ์„ ํƒํ•˜๊ณ  ํ›ˆ๋ จ ์ƒ˜ํ”Œ ๋ชจ์ง‘ 2๏ธโƒฃ ์„ฑ๋Šฅ ์ง€ํ‘œ ์„ ํƒ 3๏ธโƒฃ ๋ถ„๋ฅ˜ ๋ชจ๋ธ๊ณผ ์ตœ์ ํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์„ ํƒ 4๏ธโƒฃ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ ํ‰๊ฐ€ 5๏ธโƒฃ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํŠœ๋‹ โœ” 3.2 ์‚ฌ์ดํ‚ท๋Ÿฐ ์ฒซ๊ฑธ์Œ ์‚ฌ์ดํ‚ท๋Ÿฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ : ๋‹ค์–‘ํ•œ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ œ๊ณต, ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ๋‚˜ ์„ธ๋ถ€ ์กฐ์ •, ๋ชจ๋ธ ํ‰๊ฐ€๋ฅผ ์œ„ํ•ด ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜ ๅคš โญ ์‚ฌ์ดํ‚ท๋Ÿฐ์ด ์ œ๊ณตํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ API Classification : ๋ถ„๋ฅ˜ ์•Œ..

[๋จธ์‹ ๋Ÿฌ๋‹ ๊ต๊ณผ์„œ] Ch02 ๊ฐ์ฒด์ง€ํ–ฅ ํผ์…‰ํŠธ๋ก  API ๋ถ„์„

''' ํผ์…‰ํŠธ๋ก  ์ธํ„ฐํŽ˜์ด์Šค ๊ฐ€์ง„ ํŒŒ์ด์ฌ ํด๋ž˜์Šค ์ •์˜ 1. Perceptron ๊ฐ์ฒด ์ดˆ๊ธฐํ™” ํ›„ fit ๋ฉ”์„œ๋“œ๋กœ ๋ฐ์ดํ„ฐ์—์„œ ํ•™์Šต 2. ๋ณ„๋„์˜ predict ๋ฉ”์„œ๋“œ๋กœ ์˜ˆ์ธก ์ƒ์„ฑ cf. ๊ฐ์ฒด ์ดˆ๊ธฐํ™” ๊ณผ์ •์—์„œ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœํ•˜์—ฌ ๋งŒ๋“  ์†์„ฑ์€ _ ์ถ”๊ฐ€ ''' import numpy as np class Perceptron(object): '''ํผ์…‰ํŠธ๋ก  ๋ถ„๋ฅ˜๊ธฐ -------------- ๋งค๊ฐœ๋ณ€์ˆ˜ -------------- eta : float -> ํ•™์Šต๋ฅ (0.0๊ณผ 1.0 ์‚ฌ์ด) n_iter : int -> ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์…‹ ๋ฐ˜๋ณต ํšŸ์ˆ˜ random_state : int -> ๊ฐ€์ค‘์น˜ ๋ฌด์ž‘์œ„ ์ดˆ๊ธฐํ™”๋ฅผ ์œ„ํ•œ ๋‚œ์ˆ˜ ์ƒ์„ฑ๊ธฐ ์‹œ๋“œ -------------- ์†์„ฑ -------------- w_ : 1d-array -..