๐Ÿ“’ Today I Learn/๐Ÿ Python

๋จธ์‹ ๋Ÿฌ๋‹ ํŠน๊ฐ• #2 ํšŒ๊ท€(Regression)

ny:D 2024. 6. 15. 01:20

240613 Today I Learn

์–ด๋ ต๋‹ค..โ˜†

์„ ํ˜•ํšŒ๊ท€

ํ•ด์„์ ์œผ๋กœ(์ˆ˜ํ•™์ ์œผ๋กœ) ๊ตฌํ•˜๊ธฐ

  • ์ •๊ทœ๋ฐฉ์ •์‹ (Normal Equation)
  • sklearn์˜ Linear Regeression
    • ์ •๊ทœ๋ฐฉ์ •์‹ ๋ณด๋‹ค ๋”์šฑ ์ผ๋ฐ˜ํ™”๋œ ๋ฐฉ๋ฒ•
    • ํ†ต๊ณ„ํ•™์—์„œ ๋ฐฐ์šฐ๋Š” Least Squares์™€ ๊ฐ™์Œ
    • ์„ ํ˜•๋Œ€์ˆ˜์—์„œ ๋ฐฐ์šฐ๋Š” SVD(Singular Value Decomposition) ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์œ ์‚ฌ์—ญํ–‰๋ ฌ์„ ๊ณ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ ๋„ ๋ณผ ์ˆ˜ ์žˆ์Œ

๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•์œผ๋กœ ๊ตฌํ•˜๊ธฐ

๐Ÿ’ก ๊ฒฝ์‚ฌํ•˜๊ฐ•๋ฒ•
๊ธฐ์šธ๊ธฐ๋ฅผ ์ด์šฉํ•ด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ํ•™์Šตํ•˜๋Š” ๋ฐฉ๋ฒ•
  • Batch : ํ•™์Šต ๋ฐ์ดํ„ฐ ์ „๋ถ€ ๋‹ค ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ
  • SGD : ๋žœ๋ค์œผ๋กœ 1๊ฐœ๋งŒ ๊ณจ๋ผ์„œ ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ, ๋Œ€์‹  ๋ถˆ์•ˆ์ •ํ•จ
  • Mini-Batch : ํ•™์Šต ๋ฐ์ดํ„ฐ ์ผ๋ถ€์— ๋Œ€ํ•ด์„œ ๋ฌถ์–ด ๊ธฐ์šธ๊ธฐ๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ
  • ํŠน์„ฑ์ด ๋งŽ๊ณ  ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๊ฐ€ ๋งŽ์„ ๋•Œ ์ ํ•ฉํ•œ ๋ฐฉ๋ฒ•
  • ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™” ํ•˜๋Š” ๋ฐฉํ–ฅ์œผ๋กœ ํ•™์Šต 
    • Learning rate (step size) : ํ•™์Šตํ• ๋•Œ step์˜ ์‚ฌ์ด์ฆˆ
      → ์ ๋‹นํ•œ ๊ฐ’์„ ๊ฐ€์ง€๋Š”๊ฒŒ ์ค‘์š”ํ•˜๋‹ค.
      → ์ด๊ฒƒ์ €๊ฒƒ ์‹œ๋„ํ•ด๋ณด๋ฉด๋œ๋‹ค.
    • ์˜ค์ฐจ์˜ ์ข…๋ฅ˜๋“ค  : MAE, MSE(RMSE), R-squared
      → MSE : ์ด์ƒ์น˜์— ๋Œ€ํ•ด์„œ ๋ฏผ๊ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ
      → R-squared : ์˜ค์ฐจ ๋ง๊ณ ๋„ ์ถ”๊ฐ€์ ์ธ ์ง€ํ‘œ๊ฐ€ ํ•„์š”ํ•  ๋•Œ ์‚ฌ์šฉ

์•™์ƒ๋ธ” ํ•™์Šต

๐Ÿ’ก ๋ฐฐ๊น…(Bagging)

  • train ๋ฐ์ดํ„ฐ์—์„œ ๋ฌด์ž‘์œ„๋กœ ๋ฝ‘์•„์„œ ์—ฌ๋Ÿฌ๋ฒˆ ๋ชจ๋ธ ํ•™์Šต
  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฉด์„œ ๋ฌด์ž‘์œ„๋กœ ๋ฝ‘์Œ
  • ๋งŒ์•ฝ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๊ณ  ์‹ถ์–ด์„œ  ํŽ˜์ด์ŠคํŒ…(pasting)
  • ๋ชจ๋“  ์˜ˆ์ธก์„ ํ‰๊ท  ๋‚ด์„œ ํšŒ๊ท€ ์ˆ˜ํ–‰ (๋ถ„๋ฅ˜๋Š” ์ตœ๋นˆ๊ฐ’)
๐Ÿ’ก ๋ถ€์ŠคํŒ…(Boosting)
๋ชจ๋ธ์„ ์—ฌ๋Ÿฌ๊ฐœ ์—ฐ๊ฒฐํ•˜์—ฌ ๊ฐ•ํ•œ ๋ชจ๋ธ์„ ๋งŒ๋“ฆ
  • ์—์ด๋‹ค ๋ถ€์ŠคํŠธ
    • ์ด์ „์— ์ž˜ ๋งž์ถ”์ง€ ๋ชปํ•œ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๊ฐ€์ค‘์น˜ ๋†’์ž„
    • ๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ ๋ชจ๋ธ์—์„  ์ž˜ ๋งž์ถ”์ง€ ๋ชปํ•œ ๋ฐ์ดํ„ฐ์— ์ง‘์ค‘ํ•ด์„œ ๋”์šฑ ํ•™์Šตํ•˜๊ฒŒ ๋จ
  • ๊ทธ๋ž˜๋””์–ธํŠธ ๋ถ€์ŠคํŠธ
    • ๊ฐ€์ค‘์น˜๋ฅผ ์กฐ์ ˆํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์ด์ „ ๋ชจ๋ธ์˜ ์˜ค์ฐจ์ •๋ณด๋ฅผ ๋‹ค์Œ ๋ชจ๋ธ์˜ input์œผ๋กœ ์ง‘์–ด๋„ฃ์Œ

์•™์ƒ๋ธ” ๊ธฐ๋ฒ•

1. ์˜์‚ฌ๊ฒฐ์ •ํŠธ๋ฆฌ๊ฐ€ ๋ฐฐ๊น…์„ ๋งŒ๋‚˜๋ฉด? → ๋žœ๋คํฌ๋ ˆ์ŠคํŠธ

  • n_estimators : ๊ฒฐ์ •ํŠธ๋ฆฌ์˜ ๊ฐœ์ˆ˜
    • ๊ธฐ๋ณธ๊ฐ’ = 100
    • ๋†’์„ ์ˆ˜๋ก ์„ฑ๋Šฅ์ด ์ข‹์•„์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ณ„์‚ฐ๋น„์šฉ๋„ ํ•จ๊ป˜ ์ฆ๊ฐ€
  • max_depth : ๊ฐ ํŠธ๋ฆฌ์˜ ์ตœ๋Œ€ ๊นŠ์ด๋ฅผ ์ง€์ •
    • ๊ฐ’์ด ํด์ˆ˜๋ก ํŠธ๋ฆฌ๋Š” ๋” ๊นŠ์–ด์ง€๊ณ  ๋ณต์žกํ•ด์ง

2. ์˜์‚ฌ๊ฒฐ์ •ํŠธ๋ฆฌ๊ฐ€ ๊ทธ๋ž˜๋””์–ธํŠธ ๋ถ€์ŠคํŒ…์„ ๋งŒ๋‚˜๋ฉด? →  GradientBoostingRegressor(GBRT)

3. ์˜์‚ฌ๊ฒฐ์ •ํŠธ๋ฆฌ๊ฐ€ ์ตœ์ ํ™”๋œ ๊ทธ๋ž˜๋””์–ธํŠธ ๋ถ€์ŠคํŒ…์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ ํ•˜๋ฉด? → XGBoost

  • ๋งค์šฐ ๋น ๋ฅธ ์†๋„, ํ™•์žฅ์„ฑ, ๊ทœ์ œ๋ฅผ ์ž๋™์œผ๋กœ ์‚ฌ์šฉ, ๊ฒฐ์ธก๊ฐ’์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ
  • ๋จธ์‹ ๋Ÿฌ๋‹ ๊ฒฝ์ง„๋Œ€์™ธ์—์„œ ์šฐ์Šน ํ›„๋ณด๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ์ค‘์š” ๋ชจ๋ธ