IT ์•Œ์•„๊ฐ€๊ธฐ

[์ธ๊ณต์ง€๋Šฅ ์•Œ์•„๊ฐ€๊ธฐ] ์„ ํ˜•ํšŒ๊ท€ - ์‚ฌ์ดํ‚ท๋Ÿฐ, ๋‹คํ•ญํšŒ๊ท€

์žก์‹๋ƒฅ์ด 2025. 2. 19. 16:29

์ €๋ฒˆ์—๋Š” ํšŒ๊ท€๋ž€ ๋ฌด์—‡์ธ์ง€ ๊ณต๋ถ€ํ•˜๊ณ , ๋จธ์‹ ๋Ÿฌ๋‹ ์ง€๋„ํ•™์Šต ๋ชจ๋ธ ์ค‘ KNN ํšŒ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์•˜๋‹ค. ์ด๋ฒˆ์—๋Š” ํšŒ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ๋” ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ๊ทธ ์ค‘ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ์„ ํ˜• ํšŒ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€๋ฅผ ํ•ด๋ณด์•˜๋‹ค.

 

[์ธ๊ณต์ง€๋Šฅ ์•Œ์•„๊ฐ€๊ธฐ] ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ KNN ํšŒ๊ท€ - ํšŒ๊ท€์˜ ์ •์˜์™€ ์—ญ์‚ฌ, SciKitLearn์œผ๋กœ KNN ํšŒ๊ท€ํ•˜

์ €๋ฒˆ์—๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ์ดˆ์ ์ธ ํ๋ฆ„์— ๋Œ€ํ•ด์„œ ๊ณต๋ถ€๋ฅผ ํ•˜๋ฉด์„œ, ํŠนํžˆ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ์‰ฌ์šด KNN ๋ถ„๋ฅ˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ค‘์‹ฌ์œผ๋กœ ์ •๋ฆฌ๋ฅผ ํ•ด๋ณด์•˜๋‹ค. ์ด๋ฒˆ์—๋Š” KNN ํšŒ๊ท€

nyangwisdom.tistory.com


์„ ํ˜•ํšŒ๊ท€ Linear Regression

์„ ํ˜• ํšŒ๊ท€๋ž€ ๊ฐ„๋‹จํ•˜๊ณ  ์„ฑ๋Šฅ์ด ๊ดœ์ฐฎ์•„์„œ ์ฒ˜์Œ์œผ๋กœ ๋ฐฐ์šฐ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์ผ์ฐจํ•จ์ˆ˜ ํ˜•ํƒœ๋กœ ์–ด๋–ค ์ž…๋ ฅ๊ฐ’(x)์™€ ์ถœ๋ ฅ๊ฐ’(y)์˜ ๊ด€๊ณ„๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

์ผ์ฐจํ•จ์ˆ˜์˜ ๊ตฌ์„ฑ์€ y = ax + b๋กœ, ๊ทธ ํ•จ์ˆ˜์˜ ๋ชจ์–‘์„ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” a์ธ ๊ธฐ์šธ๊ธฐ์™€ b์ธ ์ ˆํŽธ๊ฐ’์ด ํ•„์š”ํ–ˆ๋‹ค. 

์„ ํ˜•ํšŒ๊ท€๋ฅผ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ x์™€ y ์˜ ๋ฐ์ดํ„ฐ ๊ด€๊ณ„๋ฅผ ํƒ์ƒ‰ํ•ด์„œ a์ธ ๊ธฐ์šธ๊ธฐ, ๋‹ค์‹œ๋งํ•ด ๊ฐ€์ค‘์น˜(weight)๋ฅผ ์ •ํ•˜๋Š”๊ฒŒ ๋ชฉํ‘œ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 


์‚ฌ์ดํ‚ท๋Ÿฐ๊ณผ ์„ ํ˜•ํšŒ๊ท€

1. Linear Regression ํŒจํ‚ค์ง€์— ์„ ํ˜•ํšŒ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ตฌํ˜„๋˜์–ด ์žˆ๋‹ค. ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ fit๊ณผ predict method๋ฅผ ํ™œ์šฉํ•œ๋‹ค.

from sklearn.linear_model import LinearRegression
lr = LinearRegression()

lr.fit(train_input, train_target)
lr.predict([[x]])
lr.score(test_input, test_target)
  • x๋Š” ์ž„์˜์˜ input ๊ฐ’, 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋กœ ์ œ๊ณตํ•ด์•ผํ•ด์„œ ๊ด„ํ˜ธ ๋‘๊ฐœ์— ๊ฐ์‹ธ์•ผํ•œ๋‹ค.
  • score๋Š” ์ด ์—ญ์‹œ ํšŒ๊ท€ ๋ชจ๋ธ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ์ •๊ณ„์ˆ˜ ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค.

 

2. ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ํ™•์ธ๋ฒ• : ํ•™์Šต์‹œํ‚จ ์„ ํ˜•ํšŒ๊ท€ ๋ชจ๋ธ์—์„œ ์ฐพ์€ ๊ธฐ์šธ๊ธฐ(๊ฐ€์ค‘์น˜)์™€ ์ ˆํŽธ ๊ฐ’์€ lr์˜ ์†์„ฑ์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.

  • coefficient, ๊ณ„์ˆ˜, ๊ฐ€์ค‘์น˜, weight ๋‹ค ์œ ์‚ฌํ•˜๊ฒŒ ์“ฐ์ธ๋‹ค.
  • ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹์ด ์ฐพ์€ ๊ฐ’์ด๋ผ๋Š” ์˜๋ฏธ์—์„œ ์“ฐ์ด๋Š” ํ‘œํ˜„์œผ๋กœ, coef_, intercept_ ๋ชจ๋‘ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ์— ํ•ด๋‹นํ•œ๋‹ค. ๊ฒฐ๊ตญ ๋งŽ์€ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ํ•™์Šต๊ณผ์ •์€ ์ตœ์ ์˜ ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฐพ๋Š” ๊ณผ์ •์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๊ณ , ์ด ๊ณผ์ •์„ ๋ชจ๋ธ ๊ธฐ๋ฐ˜ ํ•™์Šต์ด๋ผ๊ณ  ํ•œ๋‹ค. 
  • ๋ฐ˜๋ฉด, ์•ž์„œ ๊ณต๋ถ€ํ•œ KNN์—์„œ๋Š” ํŠน๋ณ„ํžˆ ์ฐพ์•„์•ผํ•  ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ์—†์—ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ํ›ˆ๋ จ ์„ธํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ํ›ˆ๋ จ์˜ ์ „๋ถ€์˜€๊ธฐ ๋•Œ๋ฌธ์ด๊ณ , ์ด๋Ÿฐ ํ•™์Šต๊ณผ์ •์„ ์‚ฌ๋ก€๊ธฐ๋ฐ˜ํ•™์Šต์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 
# ๊ธฐ์šธ๊ธฐ๊ฐ’
print(lr.coef_)

# ์ ˆํŽธ๊ฐ’
print(lr.intercept_) 

 


๋‹คํ•ญ ํšŒ๊ท€

์‚ฐ์ ๋„ ๋“ฑ์„ ํ†ตํ•ด ํƒ์ƒ‰์  ๋ฐ์ดํ„ฐ ๋ถ„์„(EDA)๋ฅผ ํ•ด๋ณด๋ฉด ์ ๋“ค์˜ ๋ถ„ํฌ๊ฐ€ ์„ ํ˜•์ด ์•„๋‹ˆ๋ผ ๊ณก์„ ํ˜•์ธ ๊ฒฝ์šฐ๋„ ์กด์žฌํ•œ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ์—๋Š” ๋‹คํ•ญํšŒ๊ท€์˜ ๋ฐฉ์‹์œผ๋กœ ๋ชจ๋ธ๋ง์„ ํ•ด์•ผํ•œ๋‹ค. ๋‹คํ•ญํšŒ๊ท€๋ž€ ๋…๋ฆฝ๋ณ€์ˆ˜(X)์™€ ์ข…์†๋ณ€์ˆ˜(y) ์‚ฌ์ด์˜ ๊ด€๊ณ„๊ฐ€ ์ง์„ ํ˜•์ด ์•„๋‹Œ ๋‹คํ•ญ์‹์˜ ํ˜•ํƒœ๋กœ ๋ชจ๋ธ๋ง ํ•˜๋Š” ํšŒ๊ท€ ๊ธฐ๋ฒ•์ด๋‹ค. ์„ ํ˜•ํšŒ๊ท€์˜ ํ™•์žฅ ํ˜•ํƒœ๋กœ, ๋Œ€๋žต์ ์ธ ๋ฐ์ดํ„ฐ์˜ ๋ชจ์–‘์ƒˆ๋ฅผ ๊ด€์ฐฐํ•˜๊ณ  ๊ทธ๊ฒƒ์ด ๊ณก์„ ์ด๋ผ๋ฉด 2์ฐจ ๋‹คํ•ญ ํšŒ๊ท€๋ฅผ ์ ์šฉํ•˜๋Š” ๋“ฑ ํšŒ๊ท€ ์ฐจ์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์‹์ด๋‹ค. ๋‹คํ•ญํšŒ๊ท€์˜ ์‚ฌ์ดํ‚ท๋Ÿฐ ํ™œ์šฉ๋ฒ•์€ ๋‹ค์Œ ๊ธฐํšŒ์— ์•Œ์•„๋ณด๊ฒ ๋‹ค. 

๋‹คํ•ญ ํšŒ๊ท€์˜ ์ผ๋ฐ˜์ ์ธ ์ˆ˜์‹: ๋ฒ ํƒ€ ๊ฐ’์ด ํšŒ๊ท€ ๊ณ„์ˆ˜, n์ด ๋‹คํ•ญ์‹์˜ ์ฐจ์ˆ˜, error term ๋“ฑ์ด ์žˆ๋‹ค.


3ํƒ„. ์„ ํ˜•ํšŒ๊ท€์— ๋Œ€ํ•˜์—ฌ!

 

์ด๋ ‡๊ฒŒ ์„ ํ˜•ํšŒ๊ท€๋ฅผ ํ•˜๋Š” ๋ฒ•๊ณผ ์‚ฌ์ดํ‚ท๋Ÿฐ์œผ๋กœ ์„ ํ˜•ํšŒ๊ท€๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œํ‚ค๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜๋‹ค! 

728x90

'IT ์•Œ์•„๊ฐ€๊ธฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ฝ”๋”ฉ ํ”์ ] 10์ดˆ๋งŒ์— doc ํŒŒ์ผ์„ docx ํŒŒ์ผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒ• (์ฝ”๋“œ์ฒจ๋ถ€, ์ดˆ๋ณด์ž์šฉ ์„ค๋ช… ํฌํ•จ)  (0) 2025.02.24
[์ƒ์‚ฐ์„ฑ] ์ธ์ƒ ๋ชฉํ‘œ ์„ค์ •ํ•˜๊ณ  ๋…ธ์…˜์œผ๋กœ ๊ด€๋ฆฌ๊นŒ์ง€! (๋ฌด๋ฃŒ ๋งŒ๋‹ค๋ผํŠธ ํ…œํ”Œ๋ฆฟ ๊ณต์œ ) : ์›ฐ๋‹ˆ์Šค/๋งŒ๋‹ค๋ผํŠธ/๋…ธ์…˜ ๋งŒ๋‹ค๋ผํŠธ ๊ฐค๋Ÿฌ๋ฆฌ ์ƒ์„ฑ ๋ฐฉ๋ฒ•  (2) 2025.02.19
[์ธ๊ณต์ง€๋Šฅ ์•Œ์•„๊ฐ€๊ธฐ] ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ KNN ํšŒ๊ท€ - ํšŒ๊ท€์˜ ์ •์˜์™€ ์—ญ์‚ฌ, SciKitLearn์œผ๋กœ KNN ํšŒ๊ท€ํ•˜๋Š”๋ฒ•  (2) 2025.02.17
[์ธ๊ณต์ง€๋Šฅ ์•Œ์•„๊ฐ€๊ธฐ] ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ KNN (K-์ตœ๊ทผ์ ‘ ์ด์›ƒ, K-Nearest Neighbors) (1) KNN ๋ถ„๋ฅ˜ ๋ชจ๋ธ  (0) 2025.02.17
[์ฝ”๋”ฉ ๊ธฐ์ดˆ] ํŒŒ์ด์ฌ - ๋ฆฌ์ŠคํŠธ(list)์™€ ๋ฐฐ์—ด(array) & ๋Œ€ํ‘œ์ ์ธ ๋ฐฐ์—ด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, Numpy์— ๋Œ€ํ•ด์„œ!  (0) 2025.02.11