๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Study/AI & ML

๋‚˜์˜ ์ฒซ ๋จธ์‹ ๋Ÿฌ๋‹&๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ (1)

by sumping 2024. 3. 15.

๐Ÿ‘€1์ฃผ์ฐจ 220110 ~ 220116 ๊ณต๋ถ€๊ธฐ๋ก

 

๐Ÿ“ ๋ณธ ํฌ์ŠคํŒ…์€ <ํ˜ผ์ž ๊ณต๋ถ€ํ•˜๋Š” ๋จธ์‹ ๋Ÿฌ๋‹+๋”ฅ๋Ÿฌ๋‹> ์ฑ…์„ ๋ฐ”ํƒ•์œผ๋กœ ์ž‘์„ฑํ•จ์„ ์•Œ๋ฆฝ๋‹ˆ๋‹ค.


K-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹ค์Šต (1์›”๊ณผ 7์›”์˜ ํ‰๊ท ๊ธฐ์˜จ๊ณผ ์ผ๊ฐ•์ˆ˜๋Ÿ‰)

 

 Ch.01-3. ๋งˆ์ผ“๊ณผ ๋จธ์‹ ๋Ÿฌ๋‹์—์„œ ๋‹ค๋ฃฌ K-์ตœ๊ทผ์ ‘ ์ด์›ƒ ์•Œ๊ณ ๋ฆฌ์ฆ˜(K-Nearest Neighbors)์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ธฐ์˜จ๊ณผ ๊ฐ•์ˆ˜๋Ÿ‰์„ ์˜ˆ์ธกํ•˜๋Š” K-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹ค์Šต์„ ์ง„ํ–‰.

 

* K-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด 5๊ฐœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ๋‹ค์ˆ˜๊ฒฐ์˜ ์›์น™์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ˆ์ธก (ํด๋ž˜์Šค์˜ ๊ธฐ๋ณธ๊ฐ’์ด 5์ž„)

(๋‹จ์ ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์œผ๋ฉด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ์ด ํ•„์š”ํ•˜๊ณ  ์ง์„ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐ๋„ ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.)

2021๋…„ ์„œ์šธ์˜ 1์›”(๊ฒจ์šธ)๊ณผ 7์›”(์—ฌ๋ฆ„)์˜ ํ‰๊ท ๊ธฐ์˜จ๊ณผ ์ผ๊ฐ•์ˆ˜๋Ÿ‰์œผ๋กœ ๊ณ„์ ˆ์„ ์˜ˆ์ธกํ•˜๋„๋ก ๋ฐ์ดํ„ฐ ์ž…๋ ฅ

(๊ธฐ์ƒ ๋ฐ์ดํ„ฐ์˜ ์ถœ์ฒ˜๋Š” ๊ธฐ์ƒ์ฒญ ๋‚ ์”จ๋ˆ„๋ฆฌ(https://www.weather.go.kr/w/)์ด๋‹ค.)


๐Ÿ’ฆ 2021๋…„ 1์›”๊ณผ 7์›”์˜ ๊ธฐ์ƒ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ๋งทํ”Œ๋กฏ๋ฆฝ์„ ์ด์šฉํ•˜์—ฌ ์‚ฐ์ ๋„๋กœ ๋‚˜ํƒ€๋‚ด๊ธฐ


๐Ÿ’ฆ 1์›”๊ณผ 12์›”์˜ ๊ธฐ์ƒ ๋ฐ์ดํ„ฐ ์‚ฐ์ ๋„๋ฅผ ํ•œ ๊ทธ๋ž˜ํ”„์— ๋‚˜ํƒ€๋‚ด๊ธฐ

์ผ๊ฐ•์ˆ˜๋Ÿ‰์€ ํฐ ์ฐจ์ด๊ฐ€ ์—†์ง€๋งŒ ํ‰๊ท ์˜จ๋„์—์„œ ํฐ ์ฐจ์ด๊ฐ€ ๋‚˜์„œ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•  ๊ฒƒ ๊ฐ™์Œ.

๐Ÿ’กpoint
* ๋งทํ”Œ๋กฏ๋ฆฝ matplotlib
- ๊ณผํ•™๊ณ„์‚ฐ์šฉ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋Œ€ํ‘œ์ ์ธ ํŒจํ‚ค์ง€
- scatter() : ์‚ฐ์ ๋„๋ฅผ ๊ทธ๋ฆฌ๋Š” ๋งทํ”Œ๋กฏ๋ฆฝ ํ•จ์ˆ˜

* import
๋”ฐ๋กœ ๋งŒ๋“ค์–ด์ค€ ํŒŒ์ด์ฌ ํŒจํ‚ค์ง€(ํ•จ์ˆ˜ ๋ฌถ์Œ)๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋ช…๋ น

๐Ÿ’ฆ ์‚ฌ์ดํ‚ท๋Ÿฐ ์‚ฌ์šฉ์„ ์œ„ํ•œ 2์ฐจ์› ๋ฆฌ์ŠคํŠธ ๋งŒ๋“ค๊ธฐ์™€ ์ •๋‹ต ๋ฐ์ดํ„ฐ ๋งŒ๋“ค๊ธฐ

zip() ํ•จ์ˆ˜๊ฐ€ ๋ฆฌ์ŠคํŠธ์—์„œ ์›์†Œ๋ฅผ ๊บผ๋‚ด์–ด l๊ณผ w์— ๋„ฃ๋Š” ๊ณผ์ •์„ for๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•ด ๋ฐ˜๋ณต

์ •๋‹ต ๋ฐ์ดํ„ฐ์—์„œ ์—ฌ๋ฆ„์€ 1๋กœ ๋†“๊ณ  ๊ฒจ์šธ์„ 0์œผ๋กœ ๋†“์•˜๋‹ค.

๐Ÿ’กpoint
* ์‚ฌ์ดํ‚ท๋Ÿฐ scikit-learn
- ๋จธ์‹ ๋Ÿฌ๋‹ ํŒจํ‚ค์ง€
- ์‚ฌ์ดํ‚ท๋Ÿฐ ํŒจํ‚ค์ง€๋ฅผ ์ด์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค.

* zip() ํ•จ์ˆ˜
๋‚˜์—ด๋œ ๋ฆฌ์ŠคํŠธ ๊ฐ๊ฐ์—์„œ ํ•˜๋‚˜์”ฉ ์›์†Œ๋ฅผ ๊บผ๋‚ด ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๐Ÿ’ฆ KNeighborsClassifier์ž„ํฌํŠธ&๊ฐ์ฒด ์ƒ์„ฑ, ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ›ˆ๋ จ&์ •ํ™•๋„ ํ™•์ธ

socre () ๋ฉ”์„œ๋“œ๊ฐ€ 1.0์ด ๋‚˜์™”์œผ๋ฏ€๋กœ ์ •ํ™•๋„๊ฐ€ 100์ž„์„ ์•Œ ์ˆ˜ ์žˆ์Œ.

ํด๋ž˜์Šค๋ฅผ ์ž„ํฌํŠธ ํ•œ ํ›„, ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑ. ํด๋ž˜์Šค ๊ฐ์ฒด๋ฅผ kn์œผ๋กœ ๋‘๊ณ  fit () ๋ฉ”์„œ๋“œ๋กœ ํ›ˆ๋ จ. (๋ชจ๋ธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ)

์ œ๋Œ€๋กœ ํ›ˆ๋ จ์ด ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด score () ๋ฉ”์„œ๋“œ๋กœ ํ™•์ธ

๐Ÿ’กpoint
* KNeighborsClassifier
- K-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค

* fit () ๋ฉ”์„œ๋“œ
- ์‚ฌ์ดํ‚ท๋Ÿฐ ๋ชจ๋ธ์„ ํ›ˆ๋ จํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์„œ๋“œ
- ์ฒ˜์Œ ๋‘ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ›ˆ๋ จ์— ์‚ฌ์šฉํ•  ํŠน์„ฑ๊ณผ ์ •๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌ

* score () ๋ฉ”์„œ๋“œ
- ํ›ˆ๋ จ๋œ ์‚ฌ์ดํ‚ท๋Ÿฐ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ์˜ˆ์ธก
- predict() ๋ฉ”์„œ๋“œ๋กœ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ -> ๋ถ„๋ฅ˜ ๋ชจ๋ธ์ผ ๊ฒฝ์šฐ ์ •๋‹ต๊ณผ ๋น„๊ต -> ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์˜ˆ์ธกํ•œ ๊ฐœ์ˆ˜์˜ ๋น„์œจ์„ ๋ฐ˜ํ™˜

๐Ÿ’ฆ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ์˜ ์ •๋‹ต์„ ์˜ˆ์ธก

๋‚˜๋ฆ„ ์ •ํ™•ํ•˜๊ฒŒ ์˜ˆ์ธก์„ ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.


K-NN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฑ…์— ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ผํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„์„œ ํ•œ ๋ฒˆ ์‹ค์Šต์„ ํ•ด๋ณด์•˜๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ๋‹ค ์ž…๋ ฅ์„ ํ•ด์•ผ๋˜๋Š” ๊ฒŒ ๊ฐ€์žฅ ๋ถˆํŽธํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ๊ฐ•์ˆ˜๋Ÿ‰์ด 1์›”๊ณผ 7์›”์˜ ํฐ ์ฐจ์ด๊ฐ€ ์—†์–ด์„œ ์ œ๋Œ€๋กœ ์˜ˆ์ธก ๋ชปํ•˜๋ฉด ์–ด๋–กํ•˜๋‚˜ ํ–ˆ๋Š”๋ฐ ๋‚˜๋ฆ„ ๊ทผ์ ‘ํ•˜๊ฒŒ ์˜ˆ์ธก์„ ํ•ด์„œ ๋‹คํ–‰์ด๋‹ค.