[TIL#35 250409]

๊ฐ•๋ฏผ์ง€ยท2025๋…„ 4์›” 9์ผ

๋ฐ์ดํ„ฐ๋ถ„์„_TIL

๋ชฉ๋ก ๋ณด๊ธฐ
37/81

Daily plan

๐ŸŒž์˜ค์ „

- SQL ์ฝ”๋“œ์นดํƒ€ 92, 93, 94๋ฒˆ
- 11์‹œ ํ†ต๊ณ„ ๋ผ์ด๋ธŒ์„ธ์…˜

๐Ÿ”ฅ ์˜คํ›„

- ํ†ต๊ณ„ ๊ฐ•์˜ 4์ฃผ์ฐจ + ๋‚ด์šฉ ์ •๋ฆฌ
- ํŒŒ์ด์ฌ ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์–ด์ œ ๊ฐ•์˜ ๋ณต์Šต
- ํ†ต๊ณ„ ๋ผ์ด๋ธŒ์„ธ์…˜ ๋‚ด์šฉ ๋ณต์Šต ์ •๋ฆฌ

๐ŸŒ ์ €๋…

- ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ&์‹œ๊ฐํ™” 3์ฃผ์ฐจ ๋‹ค์‹œ ๋ณต์Šต
- TIL ์ œ์ถœํ•ด !!!!

To Do

  • โœ…SQL ์ฝ”๋“œ์นดํƒ€ 89~91
  • โœ…ํ†ต๊ณ„ ๋ผ์ด๋ธŒ์„ธ์…˜ + ์ •๋ฆฌ ๋ณต์Šต
  • โœ…ํ†ต๊ณ„ ๊ฐ•์˜ 4์ฃผ์ฐจ
  • โœ…์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์ •๋ฆฌ ๋ณต์Šต

์ด๋ฒˆ์ฃผ ๋ชฉํ‘œ

  • ํ†ต๊ณ„ํ•™ ๊ฐ•์˜ ์™„๊ฐ•
  • ์‹œ๊ฐํ™”&์ „์ฒ˜๋ฆฌ ๊ฐ•์˜ ์™„๊ฐ•
  • ๋ฐ์ดํ„ฐ๋ถ„์„ ํŒŒ์ด์ฌ ์ข…ํ•ฉ๋ฐ˜ 5์ฃผ์ฐจ ์ •๋ฆฌ
  • ํ†ต๊ณ„ ๋ผ์ด๋ธŒ์„ธ์…˜ ์ •๋ฆฌ&๋ณต์Šต ๋ฐ€๋ฆฌ์ง€ ์•Š๊ธฐ!
  • ํŒŒ์ด์ฌ ์Šคํƒ ๋‹ค๋“œ๋ฐ˜ ์ •๋ฆฌ&๋ณต์Šต ๋ฐ€๋ฆฌ์ง€ ์•Š๊ธฐ!
  • ํŒŒ์ด์ฌ ๋ฒ ์ด์ง๋ฐ˜ ๋‚ด์šฉ ๊ณต๋ถ€ (ํ—ท๊ฐˆ๋ฆฌ๊ฑฐ๋‚˜ ์ฒ˜์Œ๋ณด๋Š” ๋‚ด์šฉ๋“ค๋งŒ ์ •๋ฆฌ)
  • ์ง€๋‚œ ํ”„๋กœ์ ํŠธ ๋นจ๋ฆฌ ์ •๋ฆฌํ•ด์„œ ์—…๋กœ๋“œํ•˜์ž...
  • SQL ์ฝ”๋“œ์นดํƒ€ 100๋ฒˆ ์ฐ๊ธฐ!

SQL ์ฝ”๋“œ์นดํƒ€

Q92 - Average Selling Price

select p.product_id,
    round(sum(units*price)/sum(units),2) average_price
from Prices p
    join UnitsSold s
    on p.product_id = s.product_id
where s.purchase_date between p.start_date and p.end_date
group by p.product_id
  • price ํ…Œ์ด๋ธ”์—์„œ ๊ธฐ๊ฐ„๋งˆ๋‹ค ๋ฌผ๊ฑด์˜ ๊ฐ€๊ฒฉ์ด ๋‹ค๋ฅด๊ฒŒ ์ €์žฅ๋˜์–ด ์žˆ๋Š”๋ฐ, unitssold ํ…Œ์ด๋ธ”์—์„œ ๋ฌผ๊ฑด์ด ํŒ๋งค๋œ ๋‚ ์งœ์— ๋งž์ถฐ์„œ ๊ฐ ๊ธฐ๊ฐ„์— ํ•ด๋‹นํ•˜๋Š” ๊ฐ€๊ฒฉ์œผ๋กœ ๊ณ„์‚ฐํ•ด์•ผ ํ–ˆ๋‹ค
  • ์–ด๋–ป๊ฒŒ ๊ธฐ๊ฐ„์— ๋งž์ถฐ์„œ ํ…Œ์ด๋ธ”์„ joinํ•ด์•ผํ• ์ง€ ๋ง‰๋ง‰ํ–ˆ๋Š”๋ฐ, where์ ˆ์—์„œ ์กฐ๊ฑด์„ ๊ฑธ๋ฉด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐ๋  ๋ฌธ์ œ์˜€์Œ!

Q93 - Project Employees I

select p.project_id, 
    round(sum(e.experience_years)/count(p.employee_id),2) average_years
from project p
    left join employee e
    on p.employee_id = e.employee_id
group by p.project_id

Q94 - Percentage of Users Attended a Contest

select contest_id,
    round(count(1)/(select count(user_id) from users)*100,2) as percentage
from register
group by contest_id
order by 2 desc, 1

ํ†ต๊ณ„ ๋ผ์ด๋ธŒ์„ธ์…˜ 4ํšŒ์ฐจ

ํšŒ๊ท€๋ถ„์„ ๊ฐœ๋…

  • ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ์— ์›ํ•˜๋Š” ๊ฐ’์ด ์—†์„ ๋•Œ ์ด๋ฅผ ์˜ˆ์ธกํ•˜๊ธฐ ์œ„ํ•ด ํšŒ๊ท€๋ถ„์„์˜ ๊ฐœ๋…์ด ๋„์ž…๋จ
  • ์˜ˆ์ธก์„ ์œ„ํ•ด์„œ '์ถ”์„ธ์„ '์ด ํ•„์š”ํ•œ๋ฐ, ์ถ”์„ธ์„ ์„ ์ฐพ๋Š” ๊ฒƒ์ด ํšŒ๊ท€๋ถ„์„์˜ ๋ชฉ์ 
    • ์ถ”์„ธ์„ : ์ด๋ฏธ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€์žฅ ์ž˜ ์„ค๋ช…ํ•ด์ฃผ๋Š” ์„ , y=a+bx์˜ ๋ฐฉ์ •์‹ ํ˜•ํƒœ๋กœ ํ‘œํ˜„
    • ๋…๋ฆฝ๋ณ€์ˆ˜(x)๋กœ ์ข…์†๋ณ€์ˆ˜(y)๋ฅผ ์˜ˆ์ธก
    • ๋…๋ฆฝ๋ณ€์ˆ˜: ์›์ธ์ด ๋˜๋Š” ๋ณ€์ˆ˜
    • ์ข…์†๋ณ€์ˆ˜: ๊ฒฐ๊ณผ๊ฐ€ ๋˜๋Š” ๋ณ€์ˆ˜
  • ํ”„๋กœ์„ธ์Šค
    1. ๋…๋ฆฝ๋ณ€์ˆ˜, ์ข…์†๋ณ€์ˆ˜ ์„ค์ • ๋ฐ ๊ฐ€์„ค ์„ค์ •
    2. ๋ฐ์ดํ„ฐ ๊ฒฝํ–ฅ์„ฑ ํ™•์ธ
      • ๋…๋ฆฝ๋ณ€์ˆ˜์™€ ์ข…์†๋ณ€์ˆ˜ ๊ฐ„ ์‚ฐ์ ๋„ ๋ถ„์„, ์ƒ๊ด€๊ด€๊ณ„ ๋ถ„์„ ๋“ฑ
    3. ์ •ํ•ฉ์„ฑ ๊ฒ€์ฆ & ๊ฒฐ๊ณผ ํ•ด์„
      • ํšŒ๊ท€๋ชจ๋ธ(ํšŒ๊ท€์‹)์ด ์–ผ๋งˆ๋‚˜ ์„ค๋ช…๋ ฅ์„ ๊ฐ–๋Š”๊ฐ€?
      • ํšŒ๊ท€๋ชจ๋ธ(ํšŒ๊ท€์‹)์ด ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜ํ•œ๊ฐ€?
      • ๋…๋ฆฝ๋ณ€์ˆ˜์™€ ์ข…์†๋ณ€์ˆ˜ ๊ฐ„ ์„ ํ˜•๊ด€๊ณ„๊ฐ€ ์žˆ๋Š”๊ฐ€?

ํšŒ๊ท€๋ถ„์„ ํŠน์ง•

  • ์žฅ์ 

    • ์˜ˆ์ธก๋ฌธ์ œ ํ•ด๊ฒฐ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋ฉฐ, ๋ถ„์„ ๋ฐ ํ•ด์„ ๋ฐฉ๋ฒ•์ด ๋‹ค์ˆ˜ ์กด์žฌ
    • ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ๊ทผ๊ฑฐ, ํ™œ์šฉ๋ฐฉ์•ˆ ๋“ฑ์˜ ์ •๋ณด๋ฅผ ์–ป๋Š” ๋ฐ ์œ ์šฉ
    • ์ข…์†๋ณ€์ˆ˜๋ฅผ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋…๋ฆฝ๋ณ€์ˆ˜ ์„ ํƒ ๋ฐ ์‹คํ—˜์ด ๊ฐ€๋Šฅ
  • ๋‹จ์ 

    • ๊ธฐ๋ณธ ๊ฐ€์ •์ด ์–ด๊ธ‹๋‚˜๋ฉด ํšŒ๊ท€๋ถ„์„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ
    • ๋น„์„ ํ˜•์„ฑ ํ™•์ธ์„ ์œ„ํ•œ ์ ์ ˆํ•œ ๋ฐฉ์‹์ด ์กด์žฌํ•˜์ง€ ์•Š์Œ

ํšŒ๊ท€๋ถ„์„ ์ข…๋ฅ˜

ํšŒ๊ท€ ๊ณ„์ˆ˜์˜ ์„ ํ˜• ์—ฌ๋ถ€, ๋…๋ฆฝ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜, ์ข…์†๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ ์—ฌ๋Ÿฌ ์œ ํ˜•์œผ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Œ

  • ์„ ํ˜• ํšŒ๊ท€๋ถ„์„
    • ๋…๋ฆฝ๋ณ€์ˆ˜: ์—ฐ์†ํ˜• / ์ข…์†๋ณ€์ˆ˜: ์—ฐ์†ํ˜•
    • ๋ถ„์„ ๋ชฉ์ : ์˜ˆ์ธก
    • ์„ ํ˜• ๋ฐฉ์ •์‹์— ์˜ํ•œ ํ•จ์ˆ˜์‹ ํ‘œํ˜„์„ ํ†ตํ•ด ๋ถ„์„
    • ์ข…๋ฅ˜
      • ๋‹จ์ˆœํšŒ๊ท€: ๋…๋ฆฝ๋ณ€์ˆ˜, ์ข…์†๋ณ€์ˆ˜ ๋ชจ๋‘ 1๊ฐœ์ธ ๊ฒฝ์šฐ ( y=ฮฒ0+ฮฒ1x+ฮตy = \beta_0 + \beta_1x + \varepsilon)
      • ๋‹ค์ค‘ํšŒ๊ท€: ๋…๋ฆฝ๋ณ€์ˆ˜๊ฐ€ 2๊ฐœ ์ด์ƒ, ์ข…์†๋ณ€์ˆ˜๊ฐ€ 1๊ฐœ์ธ ๊ฒฝ์šฐ (y=ฮฒ0+ฮฒ1x0+ฮฒ2x1+...+ฮตy = \beta_0 + \beta_1x_0 + \beta_2x_1 + ... + \varepsilon)
  • ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€๋ถ„์„
    • ๋…๋ฆฝ๋ณ€์ˆ˜: ์—ฐ์†ํ˜•, ๋ฒ”์ฃผํ˜• / ์ข…์†๋ณ€์ˆ˜: ๋ฒ”์ฃผํ˜•์ด๋ฉด์„œ ์ด์ง„ํ˜• or ์ˆœ์„œ๊ฐ€ ์—†๋Š” ๋ฒ”์ฃผํ˜•
    • ๋ถ„์„ ๋ชฉ์ : ๋ถ„๋ฅ˜, ์˜ˆ์ธก
    • ์—ฐ๊ฒฐํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ํ•จ์ˆ˜์‹ ํ‘œํ˜„์„ ํ†ตํ•ด ๋ถ„์„
    • ์ข…๋ฅ˜
      • ์ด์ง„ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€: ์ข…์†๋ณ€์ˆ˜๊ฐ€ 2๊ฐ€์ง€ ์ค‘ ํ•˜๋‚˜์˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ
      • ๋‹ค์ค‘ ๋กœ์ง€์Šคํ‹ฑ ํšŒ๊ท€: ์ข…์†๋ณ€์ˆ˜๊ฐ€ ์ˆœ์„œ ์—†๋Š” 3๊ฐœ ์ด์ƒ์ผ ๊ฒฝ์šฐ

์ •ํ•ฉ์„ฑ ๊ฒ€์ฆ ๋ฐ ๊ฒฐ๊ณผ ํ•ด์„

  • ํšŒ๊ท€๋ชจ๋ธ(ํšŒ๊ท€์‹)์ด ์–ผ๋งˆ๋‚˜ ์„ค๋ช…๋ ฅ์„ ๊ฐ–๋Š”๊ฐ€?

    • ๊ฒฐ์ •๊ณ„์ˆ˜(R_squared, Rยฒ) ํ™•์ธ: ์ข…์†๋ณ€์ˆ˜์™€ ๋…๋ฆฝ๋ณ€์ˆ˜์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜์น˜
      • ์„ค๋ช…๋ ฅ(Rยฒ): ์ „์ฒด ์˜ค๋ฅ˜ ์ค‘ ํšŒ๊ท€๋ฅผ ํ•จ์œผ๋กœ์จ ์–ผ๋งˆ๋‚˜ ๊ฐœ์„ ๋˜์—ˆ๋Š”๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ˆ˜์น˜๋กœ, 0๊ณผ 1์‚ฌ์ด์˜ ๊ฐ’์„ ๊ฐ€์ง€๋ฉฐ 1์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ์ข‹๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธ
    • T, R, E
      • T (Total): ์ „์ฒด ๋ณ€๋™
      • R (Regression): ํšŒ๊ท€๋ถ„์„์„ ํ†ตํ•ด ์ฐพ์•„๋‚ธ ํšŒ๊ท€์„ ๊นŒ์ง€์˜ ๋ณ€๋™
      • E (Error, ์ž”์ฐจ): ํšŒ๊ท€๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์—†๋Š” ๋ณ€๋™
  • ํšŒ๊ท€๋ชจ๋ธ(ํšŒ๊ท€์‹)์ด ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜ํ•œ๊ฐ€?

    • ํšŒ๊ท€์‹์— ๋Œ€ํ•œ F๊ฒ€์ •์„ ์‹œํ–‰
      • ๊ท€๋ฌด๊ฐ€์„ค: ํšŒ๊ท€๋ชจ๋ธ์€ ํƒ€๋‹นํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค (ํšŒ๊ท€ ๊ณ„์ˆ˜๋“ค์ด ๋ชจ๋‘ 0์ด๋‹ค)
      • ๋Œ€๋ฆฝ๊ฐ€์„ค: ํšŒ๊ท€๋ชจ๋ธ์€ ํƒ€๋‹นํ•  ๊ฒƒ์ด๋‹ค (์ ์–ด๋„ ํ•˜๋‚˜์˜ ํšŒ๊ท€ ๊ณ„์ˆ˜๋Š” 0์ด ์•„๋‹ˆ๋‹ค)
    • p-value๋กœ ์œ ์˜์„ฑ ํŒ๋‹จ
  • ๋…๋ฆฝ๋ณ€์ˆ˜์™€ ์ข…์†๋ณ€์ˆ˜ ๊ฐ„ ์„ ํ˜•๊ด€๊ณ„๊ฐ€ ์žˆ๋Š”๊ฐ€?

    • ํšŒ๊ท€์‹์˜ ฮฒ1\beta_1(๊ธฐ์šธ๊ธฐ) ์— ๋Œ€ํ•œ t ๊ฒ€์ • ์‹œํ–‰
      • ๊ท€๋ฌด๊ฐ€์„ค: ๋…๋ฆฝ๋ณ€์ˆ˜์™€ ์ข…์†๋ณ€์ˆ˜ ๊ฐ„ ์„ ํ˜•์  ์—ฐ๊ด€์ด ์—†์„ ๊ฒƒ์ด๋‹ค
      • ๋Œ€๋ฆฝ๊ฐ€์„ค: ๋…๋ฆฝ๋ณ€์ˆ˜์™€ ์ข…์†๋ณ€์ˆ˜ ๊ฐ„ ์„ ํ˜•์  ์—ฐ๊ด€์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค
    • p-value๋กœ ์œ ์˜์„ฑ ํŒ๋‹จ
  • OLS(Ordinary Least Squares) ํ•ด์„

    • OLS: ์„ ํ˜• ํšŒ๊ท€๋ชจ๋ธ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํšŒ๊ท€ ๊ฒฐ๊ณผํ‘œ
    • ols์—์„œ ์ง€์›ํ•˜๋Š” summary ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผํ‘œ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Œ
    • Dep.Variable(y): ์ข…์†๋ณ€์ˆ˜
    • R-squared: ํšŒ๊ท€๋ชจ๋ธ์ด ์ข…์†๋ณ€์ˆ˜์˜ ๋ณ€๋™์„ฑ์„ ์–ผ๋งˆ๋‚˜ ์„ค๋ช…ํ•˜๋Š”์ง€ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒฐ์ •๊ณ„์ˆ˜
    • Adj.R-squared: ์„ค๋ช…๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณ ๋ คํ•˜์—ฌ R^2๊ฐ’์„ ์กฐ์ •ํ•œ ์ˆ˜์ •๋œ ๊ฒฐ์ •๊ณ„์ˆ˜๋กœ, ๋ณ€์ˆ˜์˜ ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๊ณผ์ ํ•ฉ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
    • Method: ์‚ฌ์šฉ๋œ ํšŒ๊ท€ ๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋ƒ„
      • Least Squares = ์ตœ์†Œ์ œ๊ณฑ๋ฒ•: ์˜ˆ์ธก๊ฐ’๊ณผ ์‹ค์ œ๊ฐ’์˜ ์˜ค์ฐจ์˜ ์ œ๊ณฑ์˜ ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋Š” ํ•ด๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•
    • F-statistic: ํšŒ๊ท€๋ชจํ˜•์˜ ์ „์ฒด ์œ ์˜์„ฑ์„ ๊ฒ€์ •ํ•˜๋Š” F-ํ†ต๊ณ„๋Ÿ‰์œผ๋กœ, ๊ฐ’์ด ํด์ˆ˜๋ก ๋ชจํ˜•์ด ์œ ์˜๋ฏธํ•  ํ™•๋ฅ ์ด ๋†’์Œ
    • Prob (F-statistic): F-ํ†ต๊ณ„๋Ÿ‰์˜ p-๊ฐ’
    • Log-Likelihood: ํšŒ๊ท€ ๋ชจํ˜•์˜ ๋กœ๊ทธ ์šฐ๋„(likelihood)๋กœ, ๊ฐ’์ด ํด์ˆ˜๋ก ๋ชจํ˜•์ด ๋ฐ์ดํ„ฐ์— ์ž˜ ๋งž๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•จ
    • No.Observations: ์‚ฌ์šฉ๋œ ๊ด€์ธก์น˜(๋ฐ์ดํ„ฐ ํฌ์ธํŠธ)์˜ ์ˆ˜
    • Df Residuals: ์ž”์ฐจ์˜ ์ž์œ ๋„ (๋ฐ์ดํ„ฐ ์ˆ˜ - ํšŒ๊ท€๊ณ„์ˆ˜์˜ ์ˆ˜)
    • Df Model: ๋ชจ๋ธ์— ํฌํ•จ๋œ ์„ค๋ช…๋ณ€์ˆ˜์˜ ์ˆ˜
    • Covariance Type: ๊ณต๋ถ„์‚ฐ ์ถ”์ •์˜ ์œ ํ˜•
      • nonrobust: ๊ธฐ๋ณธ ๊ณต๋ถ„์‚ฐ ์ถ”์ •์ด ์‚ฌ์šฉ๋˜์—ˆ์Œ์„ ์˜๋ฏธ
    • coef(coefficients)
      • const: ๋…๋ฆฝ๋ณ€์ˆ˜๊ฐ€ 0์ผ๋•Œ ์ข…์†๋ณ€์ˆ˜์˜ ์˜ˆ์ธก๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ƒ์ˆ˜ํ•ญ(์ ˆํŽธ)
      • x1: ์„ค๋ช…๋ณ€์ˆ˜ 1์˜ ํšŒ๊ท€ ๊ณ„์ˆ˜๋กœ, ๋…๋ฆฝ๋ณ€์ˆ˜๊ฐ€ 1 ๋‹จ์œ„ ์ฆ๊ฐ€ํ•  ๋•Œ ์ข…์†๋ณ€์ˆ˜๊ฐ€ ํ‰๊ท ์ ์œผ๋กœ x1๋งŒํผ ๋‹จ์œ„ ์ฆ๊ฐ€ ํ•œ๋‹ค๋Š” ์˜๋ฏธ
    • std err(Standard Error): ํšŒ๊ท€ ๊ณ„์ˆ˜ ์ถ”์ •์น˜์˜ ํ‘œ์ค€ ํ˜ธ์ฐจ
    • t(t-statistic): ํšŒ๊ท€๊ณ„์ˆ˜๊ฐ€ 0์ธ์ง€ ๊ฒ€์ •ํ•˜๋Š” t๊ฐ’์œผ๋กœ, ์ ˆ๋Œ€๊ฐ’์ด ํด์ˆ˜๋ก ํ•ด๋‹น ๊ณ„์ˆ˜๊ฐ€ ์œ ์˜๋ฏธํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Œ
    • P>|t|(P-value): ๊ฐ ๊ณ„์ˆ˜์— ๋Œ€ํ•œ p-๊ฐ’
    • [0.025 0.975] (Confidence Interval): ํšŒ๊ท€๊ณ„์ˆ˜์— ๋Œ€ํ•œ 95% ์‹ ๋ขฐ๊ตฌ๊ฐ„
    • Omnibus: ์ž”์ฐจ์˜ ์ •๊ทœ์„ฑ์„ ๊ฒ€์ •ํ•˜๋Š” Omnibus ๊ฒ€์ • ํ†ต๊ณ„๋Ÿ‰์œผ๋กœ, ๊ฐ’์ด ์ž‘์„์ˆ˜๋ก ์ž”์ฐจ๊ฐ€ ์ •๊ทœ๋ถ„ํฌ์— ๊ฐ€๊น๋‹ค๋Š” ์˜๋ฏธ
    • Prob(Omnibus): Omnibus๊ฒ€์ •์˜ p-๊ฐ’
    • Skew: ์ž”์ฐจ์˜ ์™œ๋„(skewness)๋กœ, 0์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ๋Œ€์นญ์ 
    • Kurtosis: ์ž”์ฐจ์˜ ์ฒจ๋„(Kurtosis)๋กœ, 3์— ๊ฐ€๊นŒ์šธ์ˆ˜๋ก ์ •๊ทœ๋ถ„ํฌ์— ๊ฐ€๊นŒ์›€
    • Durbin-Watson: ์ž”์ฐจ์˜ ์ž๊ธฐ์ƒ๊ด€์„ ๊ฒ€์ •ํ•˜๋Š” ํ†ต๊ณ„๋Ÿ‰
    • Jarque_Bera(JB): ์ž”์ฐจ์˜ ์ •๊ทœ์„ฑ์„ ๊ฒ€์ •ํ•˜๋Š” Jarque-Bera ๊ฒ€์ •ํ†ต๊ณ„๋Ÿ‰
    • Prob(JB): Jarque-Bera ๊ฒ€์ •์˜ p-๊ฐ’
    • Cond.No.: ์„ค๋ช…๋ณ€์ˆ˜์˜ ๋‹ค์ค‘๊ณต์„ ์„ฑ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์กฐ๊ฑด์ˆ˜๋กœ, ๊ฐ’์ด ๋†’์œผ๋ฉด ๋‹ค์ค‘๊ณต์„ ์„ฑ ๋ฌธ์ œ๊ฐ€ ์žˆ์Œ์„ ์‹œ์‚ฌํ•จ

    ๊ฐ๊ฐ์˜ ๊ฒ€์ •ํ†ต๊ณ„๋Ÿ‰์ด ๊ฐ€์ง€๋Š” ์ˆซ์ž์˜ ์˜๋ฏธ๋ณด๋‹ค, ์ด๋ฅผ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š”์ง€(p-value)์— ์ฃผ๋ชฉํ•ด์•ผ ํ•จ


ํ†ต๊ณ„ ๊ฐ•์˜ 4์ฃผ์ฐจ

๋‹จ์ˆœ ์„ ํ˜• ํšŒ๊ท€

  • ํ•˜๋‚˜์˜ ๋…๋ฆฝ๋ณ€์ˆ˜(x)์™€ ํ•˜๋‚˜์˜ ์ข…์†๋ณ€์ˆ˜(y) ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์ง์„ ์œผ๋กœ ๋ชจ๋ธ๋ง
import numpy as np
import pandas as pd
import matplolib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error, r2_score

# ์˜ˆ์‹œ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
np.random.seed(0)
X = 2*np.random.rand(100,1)
y = 4 + 3*X + np.random.randn(100,1)

cf. np.random.seed()
์ปดํ“จํ„ฐ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋ฐœ์ƒํ•œ ๋žœ๋ค๊ฐ’์€ ํŠน์ • ์‹œ์ž‘ ์ˆซ์ž๊ฐ’์„ ์ •ํ•ด์ฃผ๋ฉด ์ •ํ•ด์ง„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋”ฐ๋ผ ๋‚œ์ˆ˜์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ์ˆ˜์—ด์„ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ
- ์ด๋•Œ ์„ค์ •ํ•˜๋Š” ํŠน์ • ์‹œ์ž‘ ์ˆซ์ž๊ฐ€ ๋ฐ”๋กœ "seed"

๋‹ค์ค‘ ์„ ํ˜• ํšŒ๊ท€

  • ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋…๋ฆฝ๋ณ€์ˆ˜์™€ ํ•˜๋‚˜์˜ ์ข…์†๋ณ€์ˆ˜ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋ง
  • ๋ณ€์ˆ˜๋“ค ๊ฐ„ ๋‹ค์ค‘๊ณต์„ ์„ฑ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Œ
  • ๋‹ค์ค‘๊ณต์„ ์„ฑ
    : ํšŒ๊ท€๋ถ„์„์—์„œ ๋…๋ฆฝ๋ณ€์ˆ˜๋“ค ๊ฐ„ ๋†’์€ ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ
    • ๊ฐ ๋ณ€์ˆ˜์˜ ๊ฐœ๋ณ„์  ํšจ๊ณผ๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์–ด๋ ค์›Œ์ ธ ํ•ด์„์„ ์–ด๋ ต๊ฒŒ ํ•จ
    • ์‹ค์ œ ์ค‘์š”ํ•œ ๋ณ€์ˆ˜๊ฐ€ ํ†ต๊ณ„์ ์œผ๋กœ ์œ ์˜ํ•˜์ง€ ์•Š๊ฒŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Œ
  • ๋‹ค์ค‘๊ณต์„ ์„ฑ์„ ์ง„๋‹จํ•˜๋Š” ๋ฐฉ๋ฒ•
    • ๊ฐ„๋‹จver) ์ƒ๊ด€๊ณ„์ˆ˜๊ฐ€ ๋†’์€ ๋ณ€์ˆ˜๋“ค์ด ์žˆ๋Š”์ง€ ํ™•์ธ
    • ์ •ํ™•ver) ๋ถ„์‚ฐํŒฝ์ฐฝ๊ณ„์ˆ˜(VIF)๊ฐ€ 10๋ณด๋‹ค ๋†’์€์ง€ ํ™•์ธ (10๋ณด๋‹ค ํฌ๋ฉด ๋‹ค์ค‘๊ณต์„ ์„ฑ์ด ๋†’๋‹ค๊ณ  ํŒ๋‹จ)
  • ๋‹ค์ค‘๊ณต์„ ์„ฑ ํ•ด๊ฒฐ๋ฒ•
    • ๋†’์€ ๊ณ„์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ณ€์ˆ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜
    • ์ฃผ์„ฑ๋ถ„๋ถ„์„(PCA) ๋“ฑ ๋ณ€์ˆ˜๋ฅผ ์ค„์ด๋Š” ์ฐจ์› ๋ถ„์„ ๋ฐฉ๋ฒ•์„ ์ ์šฉ

๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜

  • ์ˆ˜์น˜ํ˜•์ด ์•„๋‹Œ, ์ฃผ๋กœ ๋ฌธ์žํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ณ€์ˆ˜
    • ์ˆœ์„œ๊ฐ€ ์žˆ๋Š” ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜๋Š” ๊ฐ ๋ฌธ์ž๋ฅผ ์ž„์˜์˜ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด๋„ ์ƒ๊ด€์—†์Œ
      ex) ์˜ท ์‚ฌ์ด์ฆˆ(S, M, L), ์ˆ˜๋Šฅ ๋“ฑ๊ธ‰(1๋“ฑ๊ธ‰, 2๋“ฑ๊ธ‰,..)
    • ์ˆœ์„œ๊ฐ€ ์—†๋Š” ๋ฒ”์ฃผํ˜• ๋ณ€์ˆ˜๋Š” 2๊ฐœ ๋ฐ–์— ์—†๋Š” ๊ฒฝ์šฐ์— ์ž„์˜์˜ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ด๋„ ๋˜์ง€๋งŒ, 3๊ฐœ ์ด์ƒ์ธ ๊ฒฝ์šฐ์—๋Š” ๋ฌด์กฐ๊ฑด ์›-ํ•ซ ์ธ์ฝ”๋”ฉ๋ณ€ํ™˜์„ ํ•ด์ฃผ์–ด์•ผ ํ•จ
      ex) ์„ฑ๋ณ„(๋‚จ,์—ฌ), ์ง€์—ญ(๋ถ€์‚ฐ,์„œ์šธ,..)
  • ์›-ํ•ซ ์ธ์ฝ”๋”ฉ: ํ•˜๋‚˜๋งŒ 1์ด๊ณ  ๋‚˜๋จธ์ง€๋Š” 0์ธ ๋ฒกํ„ฐ
    • pandas์˜ get_dummies๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‰ฝ๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ

๋‹คํ•ญํšŒ๊ท€, ์Šคํ”Œ๋ผ์ธ ํšŒ๊ท€

๋‹คํ•ญํšŒ๊ท€
: ๋…๋ฆฝ๋ณ€์ˆ˜์™€ ์ข…์†๋ณ€์ˆ˜ ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ ์„ ํ˜•์ด ์•„๋‹ ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ๋…๋ฆฝ ๋ณ€์ˆ˜์˜ ๋‹คํ•ญ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ข…์† ๋ณ€์ˆ˜๋ฅผ ์˜ˆ์ธกํ•จ

  • ๋ฐ์ดํ„ฐ๊ฐ€ ๊ณก์„ ์  ๊ฒฝํ–ฅ์„ ๋”ฐ๋ฅผ ๋•Œ ์‚ฌ์šฉ
  • ๋น„์„ ํ˜• ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋งํ•  ์ˆ˜ ์žˆ์Œ
  • ๊ณ ์ฐจ ๋‹คํ•ญ์‹์˜ ๊ฒฝ์šฐ ๊ณผ์ ํ•ฉ(overfitting)์˜ ์œ„ํ—˜์ด ์žˆ์Œ

์Šคํ”Œ๋ผ์ธ ํšŒ๊ท€

  • ๋…๋ฆฝ ๋ณ€์ˆ˜์˜ ๊ตฌ๊ฐ„๋ณ„๋กœ ๋‹ค๋ฅธ ํšŒ๊ท€์‹์„ ์ ์šฉํ•˜์—ฌ ๋ณต์žกํ•œ ๊ด€๊ณ„๋ฅผ ๋ชจ๋ธ๋ง
  • ๊ตฌ๊ฐ„๋งˆ๋‹ค ๋‹ค๋ฅธ ๋‹คํ•ญ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ์ „์ฒด์ ์œผ๋กœ ๋งค๋„๋Ÿฌ์šด ๊ณก์„ ์„ ์ƒ์„ฑ
  • ๋ฐ์ดํ„ฐ๊ฐ€ ๊ตญ๋ถ€์ ์œผ๋กœ ๋‹ค๋ฅธ ํŒจํ„ด์„ ๋ณด์ผ ๋•Œ ์‚ฌ์šฉ
  • ๋ณต์žกํ•œ ๋น„์„ ํ˜• ๊ด€๊ณ„๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ๋ชจ๋ธ๋ง ๊ฐ€๋Šฅ
  • ์ ์ ˆํ•œ ๋งค๋“ญ์ (knots)์˜ ์„ ํƒ์ด ์ค‘์š”

Python Standard 4ํšŒ์ฐจ

๋จธ์‹ ๋Ÿฌ๋‹ ํŒŒ์ดํ”„๋ผ์ธ

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๊ณ , ๋ชจ๋ธ์„ ํ•™์Šต์‹œ์ผœ์„œ ์˜ˆ์ธก์„ ๋งŒ๋“ค๊ธฐ๊นŒ์ง€์˜ ์ผ๋ จ์˜ ๋‹จ๊ณ„๋“ค์„ ์ฒด๊ณ„์ ์œผ๋กœ ์ •๋ฆฌํ•œ ์ ˆ์ฐจ
  • ํŒŒ์ดํ”„๋ผ์ธ์ด ํ•„์š”ํ•œ ์ด์œ 
    • ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์ž‘์—…์„ ์ž๋™ํ™”
    • ํ˜„์—…์— ์šฉ์ด, ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์ด ์‰ฌ์›€
    • ์‹ค์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Œ
  • ์ „์ฒด ํ๋ฆ„: ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ > ์ „์ฒ˜๋ฆฌ > ๋ชจ๋ธ ํ•™์Šต > ํ‰๊ฐ€ > ์˜ˆ์ธก/๋ฐฐํฌ

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

from sklearn.datasets import load_iris  # ์˜ˆ์‹œ๋ฐ์ดํ„ฐ(iris)
from sklearn.model_selection import train_test_split  # ๋ฐ์ดํ„ฐ๋ถ„ํ• 
from sklearn.preprocessing import StandardScaler    # ํ‘œ์ค€ํ™”
from sklearn.ensemble import RandomForestClassifier   # ๋žœ๋คํฌ๋ ˆ์ŠคํŠธ
from sklearn.pipeline import Pipeline  # ํŒŒ์ดํ”„๋ผ์ธ
from sklearn.metrics import accuracy_score  # ๋ชจ๋ธ ์ •ํ™•๋„

๋ฐ์ดํ„ฐ ๋กœ๋“œ ๋ฐ ๋ถ„ํ• 

  • train data๋กœ ํ•™์Šต์‹œํ‚จ ๋ชจ๋ธ์ด ์ž˜ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด test data๋ฅผ ์ด์šฉ
  • 1๋‹จ๊ณ„: ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ
iris = load_iris()
X = iris.data
y = iris.target
  • 2๋‹จ๊ณ„: ํ›ˆ๋ จ/ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ ๋ถ„๋ฆฌ
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

์ „์ฒ˜๋ฆฌ

  • ์ „์ฒ˜๋ฆฌ ์˜ˆ์‹œ: ํŠน์„ฑ ์Šค์ผ€์ผ๋ง
  • KNN, SVM ๋“ฑ ๊ฑฐ๋ฆฌ๊ฐ€ ์ค‘์š”ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ์Šค์ผ€์ผ ์ฐจ์ด๊ฐ€ ๊ฒฐ๊ณผ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Œ
scaler = StandardScaler()
X_train_scaled = scaler.fit_transform(X_train)
X_test_scaled = scaler.transform(X_test)

๋ชจ๋ธ ์ƒ์„ฑ ๋ฐ ํ•™์Šต

model = RandomForestClassifier()
model.fit(X_train_scaled, y_train)

์˜ˆ์ธก ๋ฐ ์ •ํ™•๋„ ํ‰๊ฐ€

y_pred = model.predict(X_test_scaled)
accuracy_score(y_test, y_pred)

ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ๋ฌถ๊ธฐ

  • ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ ํ•œ๋ฒˆ์— ์ฒ˜๋ฆฌ
  • ํŒŒ์ดํ”„๋ผ์ธ์€ ์ฝ”๋“œ๋ฅผ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ํ•˜๊ณ  ์‹ค์ˆ˜๋ฅผ ๋ฐฉ์ง€ํ•˜๋ฉฐ ํ…Œ์ŠคํŠธ/๋ฐฐํฌ๋ฅผ ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ํšจ๊ณผ๊ฐ€ ์žˆ์Œ
pipe = Pipeline([
	('scaler', StandardScaler()),
    ('model', RandomForestClassifier())
])

pipe.fit(X_train, y_train)
pipe.score(X_test, y_test))
  • test data๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ์–ป์œผ๋ ค๋Š” ์ƒ๊ฐ์„ ํ•˜์ง€ ๋ง๊ธฐ!!!
  • ์„ ํƒ๊ณผ์ œ
    • LogisticRegression, SVC์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ชจ๋ธ๋กœ ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ”๊ฟ”๋ณด๊ธฐ
    • MinMaxScaler์™€ StandardScaler ๋น„๊ตํ•ด๋ณด๊ธฐ

์ผ๊ธฐ

ํŒ€์›๋“ค์ด ๋‚˜๋ฅผ ๋‹จ๋‹จํžˆ ์˜คํ•ดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™๋‹ค.
๋‚˜๋Š” ๋ง‰ ์•„๋ฌด๋•Œ๋‚˜ ๋‚ฎ์ž ์ž๊ณ  ๊ทธ๋Ÿฐ ์‚ฌ๋žŒ ์•„๋‹Œ๋ฐ....
๋‚ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ์„ฑ์‹คํ•œ ์‚ฌ๋žŒ์ธ์ง€ ๋ณด์—ฌ์ค˜์•ผ๊ฒ ๋„คใ…œใ…œ

1๊ฐœ์˜ ๋Œ“๊ธ€

comment-user-thumbnail
2025๋…„ 4์›” 9์ผ

ํŒ€์›๋“ค์ด ์ œ๋Œ€๋กœ ๋ถ„์„ํ•œ๊ฑฐ ๊ฐ™์€๋ฐ;;;;

๋‹ต๊ธ€ ๋‹ฌ๊ธฐ