• [๋จธ์‹ ๋Ÿฌ๋‹] ํ˜ผ์ž๊ณต๋ถ€ํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹+๋”ฅ๋Ÿฌ๋‹ Ch01

    2024. 2. 27.

    by. @leeeun

    01-1 ์ธ๊ณต์ง€๋Šฅ๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹, ๋”ฅ๋Ÿฌ๋‹

    ์ธ๊ณต์ง€๋Šฅ์ด๋ž€?

    ์ธ๊ณต์ง€๋Šฅ์€ ์‚ฌ๋žŒ์ฒ˜๋Ÿผ ํ•™์Šตํ•˜๊ณ  ์ถ”๋ก ํ•  ์ˆ˜ ์žˆ๋Š” ์ง€๋Šฅ์„ ๊ฐ€์ง„ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์„ ๋งŒ๋“œ๋Š” ๊ธฐ์ˆ ์ด๋‹ค.

    • ์ธ๊ณต์ผ๋ฐ˜์ง€๋Šฅ=๊ฐ•์ธ๊ณต์ง€๋Šฅ : ์‚ฌ๋žŒ๊ณผ ๊ตฌ๋ถ„ํ•˜๊ธฐ ์–ด๋ ค์šด ์ง€๋Šฅ์„ ๊ฐ€์ง„ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ex) ์˜ํ™” her
    • ์•ฝ์ธ๊ณต์ง€๋Šฅ: ์‚ฌ๋žŒ์˜ ์ผ์„ ๋„์™€์ฃผ๋Š” ๋ณด์กฐ ์—ญํ• ๋งŒ ๊ฐ€๋Šฅ ex) ์‹œ๋ฆฌ, ์•ŒํŒŒ๊ณ , ์Œ์•… ์ถ”์ฒœ

     

    ๋จธ์‹ ๋Ÿฌ๋‹์ด๋ž€?

    ๋จธ์‹ ๋Ÿฌ๋‹ (machine learning)์€ ๊ทœ์น™์„ ์ผ์ผ์ด ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜์ง€ ์•Š์•„๋„ ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ์—์„œ ๊ทœ์น™์„ ํ•™์Šตํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์—ฐ๊ตฌํ•˜๋Š” ๋ถ„์•ผ์ด๋‹ค.

    ์ธ๊ณต์ง€๋Šฅ์˜ ‘์ง€๋Šฅ’์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ํ•ต์‹ฌ๋ถ„์•ผ์ด๊ณ , ํ†ต๊ณ„ํ•™๊ณผ ๊ด€๋ จ์ด ๋†’๋‹ค.

    ๋Œ€ํ‘œ์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ‘์‚ฌ์ดํ‚ท๋Ÿฐ’

    ์ด ์ฑ…์—์„œ ์‚ฌ์ดํ‚ท๋Ÿฐ์— ํฌํ•จ๋œ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ฐฐ์šธ ๊ฒƒ

    ๋Œ€ํ‘œ์ ์ธ ๋จธ์‹ ๋Ÿฌ๋‹ ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ‘์‚ฌ์ดํ‚ท๋Ÿฐ’

    ๋”ฅ๋Ÿฌ๋‹์ด๋ž€?

    ๋งŽ์€ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ค‘์— ์ธ๊ณต์‹ ๊ฒฝ๋ง์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ๋ฐฉ๋ฒ•๋“ค์„ ํ†ต์นญํ•˜์—ฌ ๋”ฅ๋Ÿฌ๋‹์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. ์ธ๊ณต ์‹ ๊ฒฝ๋ง๊ณผ ๊ฐ™์€ ๋ง๋กœ ์ทจ๊ธ‰๋˜๊ธฐ๋„ ํ•œ๋‹ค.

    ๋Œ€ํ‘œ์ ์ธ ๋”ฅ๋Ÿฌ๋‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ‘ํ…์„œํ”Œ๋กœ์šฐ’

    ์ด ์ฑ…์—์„œ๋Š” ํ…์„œํ”Œ๋กœ์šฐ๋ฅผ ์‚ฌ์šฉํ•œ ๋”ฅ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋‹ค๋ฃฐ ๊ฒƒ

    ๋Œ€ํ‘œ์ ์ธ ๋”ฅ๋Ÿฌ๋‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ‘ํ…์„œํ”Œ๋กœ์šฐ’

     

    01-2 ์ฝ”๋žฉ๊ณผ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ

     

    ๊ตฌ๊ธ€ ์ฝ”๋žฉ

    ๊ตฌ๊ธ€์—์„œ ๋งŒ๋“  ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ํŒŒ์ด์ฌ์„ ์“ธ ์ˆ˜ ์žˆ๋Š” ์‹คํ–‰ ํ™˜๊ฒฝ์ด๋‹ค. ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜์˜ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ๊ฐœ๋ฐœํ™˜๊ฒฝ.

    ์ฝ”๋žฉ ํŒŒ์ผ์„ ๋…ธํŠธ๋ถ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

    • ํ…์ŠคํŠธ ์…€: HTML& markdown
    • ์ฝ”๋“œ ์…€: ์ฝ”๋“œ & ์‹คํ–‰๊ฒฐ๊ณผ

     

    ์ฝ”๋žฉ ๋…ธํŠธ๋ถ

    • ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ์˜ ๊ฐ€์ƒ ์„œ๋ฒ„๋ฅผ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉ
    • ๋™์‹œ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์ƒ์„œ๋ฒ„ ์ตœ๋Œ€ 5๊ฐœ

     

    01-3 ๋งˆ์ผ“๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹

    k-์ตœ๊ทผ์ ‘ ์ด์›ƒ ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ์ƒ์„  ์ด๋ฆ„์„ ์ž๋™์œผ๋กœ ์•Œ๋ ค์ฃผ๋Š” ๋จธ์‹ ๋Ÿฌ๋‹์„ ๋งŒ๋“ค์–ด๋ณด์ž.

     

    ์ƒ์„  ๋ถ„๋ฅ˜ ๋ฌธ์ œ

    (์บ๊ธ€์— ๊ณต๊ฐœ๋œ ๋ฐ์ดํ„ฐ์…‹) ์ƒ์„ ๋ฐ์ดํ„ฐ : ' ๋„๋ฏธ' , '๊ณค๋“ค๋งค๊ธฐ' , '๋†์–ด' , '๊ฐ•๊ผฌ์น˜๊ณ ๊ธฐ' '๋กœ์น˜' , ‘๋น™์–ด’, ์†ก์–ด’

     

     

    ๋„๋ฏธ ๋ฐ์ดํ„ฐ ์ค€๋น„ํ•˜๊ธฐ

    • ๋จธ์‹  ๋Ÿฌ๋‹์€ ํŠน์ • ์กฐ๊ฑด์„ ๋ถ€์—ฌํ•˜์ง€ ์•Š์•„๋„ ์Šค์Šค๋กœ ๊ธฐ์ค€์„ ์ฐพ๊ณ , ๋„๋ฏธ์ธ์ง€ ์•„๋‹Œ์ง€ ํŒ๋ณ„ํ•จ → ๋ฐฉ๋Œ€ํ•œ ๋„๋ฏธ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•ด์„œ ์Šค์Šค๋กœ ํ•™์Šตํ•˜๋„๋ก ํ•œ๋‹ค.

     

    ์ด์ง„ ๋ถ„๋ฅ˜

    • ๋ถ„๋ฅ˜ : ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ข…๋ฅ˜ ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ตฌ๋ณ„ํ•ด๋‚ด๋Š” ๋ฌธ์ œ
    • ์ด์ง„ ๋ถ„๋ฅ˜: 2๊ฐœ์˜ ํด๋ž˜์Šค ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณ ๋ฅด๋Š” ๋ฌธ์ œ
    fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 
                    31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 
                    35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0, 41.0, 9.8, 
                    10.5, 10.6, 11.0, 11.2, 11.3, 11.8, 11.8, 12.0, 12.2, 12.4, 13.0, 14.3, 15.0]
    
    fish_weight = [242.0, 290.0, 340.0, 363.0, 430.0, 450.0, 500.0, 390.0, 450.0, 500.0, 475.0, 500.0, 
                    500.0, 340.0, 600.0, 600.0, 700.0, 700.0, 610.0, 650.0, 575.0, 685.0, 620.0, 680.0, 
                    700.0, 725.0, 720.0, 714.0, 850.0, 1000.0, 920.0, 955.0, 925.0, 975.0, 950.0, 6.7, 
                    7.5, 7.0, 9.7, 9.8, 8.7, 10.0, 9.9, 9.8, 12.2, 13.4, 12.2, 19.7, 19.9]
    
    • ๋„๋ฏธ์˜ ํŠน์ง•์„ ๊ธธ์ด์™€ ๋ฌด๊ฒŒ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์„ ‘ํŠน์„ฑ’ ์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.
    • ์ฆ‰, ํŠน์„ฑ์€ ๋ฐ์ดํ„ฐ์˜ ํŠน์ง•์ด๋‹ค. ์ฒซ๋ฒˆ์งธ ํŠน์„ฑ์ด ๊ธธ์ด, ๋‘๋ฒˆ์งธ ํŠน์„ฑ์ด ๋ฌด๊ฒŒ์ด๋‹ค.
    • matplotlib์„ ์ด์šฉํ•ด์„œ ์‚ฐ์ ๋„(x,y์˜ ๊ด€๊ณ„๋ฅผ ์ขŒํ‘œ๊ณ„์— ํ‘œํ˜„ํ•˜๋Š” ๊ทธ๋ž˜ํ”„)๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œํ˜„ํ•ด๋ณผ ์ˆ˜๋„ ์žˆ๋‹ค.

    • ์ฝ”๋žฉ์—๋Š” ์ด๋ฏธ ํŒจํ‚ค์ง€๊ฐ€ ์„ค์น˜๋˜์–ด์„œ ๋ฐ”๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
    • scatter() : ์‚ฐ์ ๋„ ๊ทธ๋ฆฌ๋Š” ํ•จ์ˆ˜
    • ์„ ํ˜•์ (linear)ํ•œ ๋ชจ์Šต → ๊ธธ์ด๊ฐ€ ๊ธธ์ˆ˜๋ก ๋ฌด๊ฒŒ๊ฐ€ ๋งŽ์ด ๋‚˜๊ฐ€๊ธฐ ๋•Œ๋ฌธ

     

    ๋น™์–ด ๋ฐ์ดํ„ฐ ์ค€๋น„ํ•˜๊ธฐ

    smelt_length = [9.8, 10.5, 10.6, 11.0, 11.2, 11.3, 11.8, 11.8, 12.0, 12.2, 12.4, 13.0, 14.3, 15.0]
    smelt_weight = [6.7, 7.5, 7.0, 9.7, 9.8, 8.7, 10.0, 9.9, 9.8, 12.2, 13.4, 12.2, 19.7, 19.9]
    

     

     

    ์‚ฐ์ ๋„ ๊ทธ๋ž˜ํ”„๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ

     

     

    ์ฒซ ๋ฒˆ์งธ ๋จธ์‹ ๋Ÿฌ๋‹ ํ”„๋กœ๊ทธ๋žจ

    • k-์ตœ๊ทผ์ ‘ ์ด์›ƒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์„œ ๋„๋ฏธ์™€ ๋น™์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•ด๋ณด์ž.
    • ๋จผ์ €, ๋„๋ฏธ์™€ ๋น™์–ด ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๋กœ ํ•ฉ์นœ๋‹ค
    • ์‚ฌ์ดํ‚ท๋Ÿฐ ํŒจํ‚ค์ง€๋Š” ํŠน์„ฑ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์„ธ๋กœ ๋ฐฉํ–ฅ์œผ๋กœ ๋Š˜์–ด๋œจ๋ฆฐ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค. ⇒ zip() ํ•จ์ˆ˜ & list comprehension

     

     

    ์ •๋‹ต ๋ฐ์ดํ„ฐ ์ค€๋น„ํ•˜๊ธฐ

    • ๋„๋ฏธ๋ฅผ 1, ๋น™์–ด๋ฅผ 0์œผ๋กœ ํ‘œํ˜„
    • K- ์ตœ๊ทผ์ ‘ ์ด์›ƒ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์ธ KNeighborsClassifier๋ฅผ ์ž„ํฌํŠธ
    • ํ›ˆ๋ จ : fit() ๋ฉ”์„œ๋“œ → ํŠน์„ฑ ๋ฐ์ดํ„ฐ์™€ ์ •๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•ด์„œ ๊ทœ์น™์„ ํ•™์Šต
    • ๋ชจ๋ธ : ๋จธ์‹ ๋Ÿฌ๋‹ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ ํ”„๋กœ๊ทธ๋žจ
    • ํ‰๊ฐ€ : score() ๋ฉ”์„œ๋“œ → ์„ฑ๋Šฅ ์ธก์ •. 0์—์„œ 1 ์‚ฌ์ด์˜ ์ •ํ™•๋„(์ •ํ™•ํžˆ ๋งžํžŒ ๊ฐœ์ˆ˜ / ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜) ๋ฐ˜ํ™˜. 1๋กœ ๊ฐˆ์ˆ˜๋ก ์ •ํ™•๋„๊ฐ€ ๋†’์Œ
    • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์˜ ์ •๋‹ต ์˜ˆ์ธก : predict() ๋ฉ”์„œ๋“œ

     

    KNN ์•Œ๊ณ ๋ฆฌ์ฆ˜

    • ์ฃผ์œ„์˜ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ตํ•ด ๋‹ค์ˆ˜๋ฅผ ์ฐจ์ง€ํ•˜๋Š” ๊ฒƒ์„ ์ •๋‹ต์œผ๋กœ ์‚ฌ์šฉ
    • ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ต
    • n_neighbors ๋งค๊ฐœ๋ณ€์ˆ˜ : ์ฐธ๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์กฐ์ • ๊ฐ€๋Šฅ
    •  

    ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…

     

    • ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์™€ ํƒ€๊ฒŸ ๋ฐ์ดํ„ฐ์˜ ์ƒ˜ํ”Œ ์ˆ˜๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•œ๋‹ค. ๋จธ์‹ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ํ›ˆ๋ จ์‹œํ‚ฌ ๋•Œ ํ›ˆ๋ จ ๋ฐ์ดํ„ฐ์™€ ํƒ€๊ฒŸ ๋ฐ์ดํ„ฐ์˜ ์ƒ˜ํ”Œ ์ˆ˜๋Š” ๋ฐ˜๋“œ์‹œ ์ผ์น˜ํ•ด์•ผ ํ•œ๋‹ค.

    ๋Œ“๊ธ€