๋ฐ์ํ
์ด ๊ธ์ ํํ ์คํฐ๋๋ฅผ ํ๋ฉด์ ํผ์ ๊ณต๋ถํ๋ ๋จธ์ ๋ฌ๋ + ๋ฅ๋ฌ๋ ์ฑ ์ ๊ณต๋ถํด์ ์ ์ ๋ด์ฉ์ด๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
๊ธฐ๋ณธ์ ์ธ ๊ฐ๋ ๋ณด๋ค๋ ์ค์ต ๋ด์ฉ์ ๊ธฐ๋ฐ์ ๋๊ณ ๊ธ์ ์์ฑํ์์ผ๋ ์ฐธ๊ณ ๋ฐ๋๋๋ค.
1- 1. ์ธ๊ณต์ง๋ฅ๊ณผ ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋
์ธ๊ณต์ง๋ฅ์ด๋?
- ์ธ๊ณต์ง๋ฅ์ ์ฌ๋์ฒ๋ผ ํ์ตํ๊ณ ์ถ๋ก ํ ์ ์๋ ์ง๋ฅ์ ๊ฐ์ง ์ปดํจํฐ ์์คํ ์ ๋ง๋๋ ๊ธฐ์ ์ ๋๋ค.
๋จธ์ ๋ฌ๋์ด๋?
- ๋จธ์ ๋ฌ๋์ด๋ ๊ท์น์ ์ผ์ผ์ด ํ๋ก๊ทธ๋๋ฐ ํ์ง ์์๋ ์๋์ผ๋ก ๋ฐ์ดํฐ์์ ๊ท์น์ ํ์ตํ์ฌ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ตฌํ๋ ๋ถ์ผ์ ๋๋ค.
- ๋ํ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ scikit-learn ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๋ฅ๋ฌ๋์ด๋?
- ๋ง์ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ค์ ์ธ๊ณต์ ๊ฒฝ๋ง(Artificial Netural Network)์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ฐฉ๋ฒ๋ค์ ํต์นญํ์ฌ ๋ฅ๋ฌ๋์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- ๋ํ์ ์ผ๋ก Pytorch, Tensorflow ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์์ต๋๋ค. - Python API ํํ ๊ธฐ๋ฐ์ผ๋ก ์ ๊ณต
1-2. ์ฝ๋ฉ๊ณผ ์ฃผํผํฐ ๋ ธํธ๋ถ
- Google Colab: ๊ตฌ๊ธ ์ฝ๋ฉ์ ์น๋ธ๋ผ์ฐ์ ์์ ๋ฌด๋ฃ๋ก Python Program์ ํ ์คํธํ๊ณ ์ ์ฅํ ์ ์๋ ํ๋ก๊ทธ๋จ ์ ๋๋ค.
- ML ํ๋ก๊ทธ๋จ๋ ๋ง๋ค์ ์์ต๋๋ค.
- Colab์ ์น ๋ธ๋ผ์ฐ์ ์ค์์ Text & Program ์ฝ๋๋ฅผ ์์ ๋กญ๊ฒ ์์ฑํ ์ ์๋ ์จ๋ผ์ธ ์๋ํฐ ๋ผ๊ณ ์๊ฐํ๋ฉด ์ฝ์ต๋๋ค. ์ด๋ฌํ ์ฝ๋ฉ ํ์ผ์ Notebook์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- ์ฐธ๊ณ ๋ก ํ์๋ Jupyter Notebook์ ์ด์ฉํด์ ์ค์ต์ ํ์์ผ๋, ์ฐธ๊ณ ๋ถํ๋๋ฆฝ๋๋ค.
์ฐธ๊ณ ์ฌํญ
์ถ๊ฐ๋ก ํ ์คํธ์ ์ ์ฌ์ฉํ ์ ์๋ ๋งํฌ๋ค์ด ๋ฌธ๋ฒ์ ์ฌ๋ ค๋๊ฒ ์ต๋๋ค. ์ฐธ๊ณ ๋ฐ๋๋๋ค.
1-3. ๋ง์ผ๊ณผ ๋จธ์ ๋ฌ๋
- ํ๋ฒ ์์ ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ๊ฐ์ง๊ณ ๋จธ์ ๋ฌ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
- ์์ dataset์ kaggle์์ ๊ณต๊ฐ๋ dataset์ ์ด์ฉํ์์ผ๋, ์ฐธ๊ณ ๋ฐ๋๋๋ค.
๋๋ฏธ ๋ฐ์ดํฐ์ ๋ถ๋ฌ์ค๊ธฐ
๋๋ฏธ Dataset์ ํ๋ฒ ๋ถ๋ฌ์ค๊ฒ ์ต๋๋ค.
๊ฐ ๋๋ฏธ์ ํน์ง๊ณผ ๊ธธ์ด๋ฅผ ๋ฌด๊ฒ๋ก ํํํ๊ฒ์ ํน์ฑ์ด๋ผ๊ณ ๋ถ๋ฅด๊ฒ ์ต๋๋ค.
# ๋๋ฏธ์ ๊ธธ์ด
bream_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]
# ๋๋ฏธ์ ๋ฌด๊ฒ
bream_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]
- ๋๋ฏธ๋ค์ ํน์ฑ์ ์ซ์๋ก ๋ณด๋ ๊ฒ ๋ง๊ณ , ๊ทธ๋ํ๋ก ํํํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ํํํ ์ ์๊ธฐ๋ ํฉ๋๋ค. ๊ธธ์ด๋ฅผ x์ถ, ๋ฌด๊ฒ๋ฅผ y์ถ์ผ๋ก ํด์ ๊ทธ๋ํ๋ฅผ ์ ์ผ๋ก ํํํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฌํ ๊ทธ๋ํ๋ฅผ ์ฐ์ ๋: Scatter Plot์ด๋ผ๊ณ ๋ถ๋ฆ ๋๋ค.
- Python์์ ๊ณผํ ๊ณ์ฐ์ฉ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๋ ๋ํ์ ์ธ ํจํค์ง๋ Matplotlib ํจํค์ง ์ ๋๋ค. ํ๋ฒ ๋ถ๋ฌ์์ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ ค๋ณด๊ฒ ์ต๋๋ค.
# ์ฐ์ ๋
import matplotlib.pyplot as plt
plt.scatter(bream_length, bream_weight)
plt.xlabel('length') # xlabel()์ x์ถ์ ์ด๋ฆ์ ํ๋ฉด์ ํ์
plt.ylabel('weight') # ylabel()์ y์ถ์ ์ด๋ฆ์ ํ๋ฉด์ ํ์
plt.show()
๋น์ด ๋ฐ์ดํฐ์ ๋ถ๋ฌ์ค๊ธฐ
๋น์ด Dataset์ ํ๋ฒ ๋ถ๋ฌ์ค๊ฒ ์ต๋๋ค.
# ๋น์ด Dataset
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]
# ์ฐ์ ๋
import matplotlib.pyplot as plt
plt.scatter(smelt_length, smelt_weight)
plt.xlabel('length') # xlabel()์ x์ถ์ ์ด๋ฆ์ ํ๋ฉด์ ํ์
plt.ylabel('weight') # ylabel()์ y์ถ์ ์ด๋ฆ์ ํ๋ฉด์ ํ์
plt.show()
- ์ด๋ ๊ฒ ๋น์ด dataset๋ก ์ฐ์ ๋๋ฅผ ์ด์ฉํ ๊ทธ๋ํ๋ก ๋ํ๋ผ ์ ์์ต๋๋ค.
2๊ฐ์ dataset์ ํ๋์ ๊ทธ๋ํ๋ก ๋ํ๋ด๊ธฐ
- ํ๋ฒ ๋น์ด & ๋๋ฏธ์ dataset์ ํ๋์ ์ฐ์ ๋ ๊ทธ๋ํ๋ก ๋ํ๋ด ๋ณด๊ฒ ์ต๋๋ค.
plt.scatter(bream_length, bream_weight)
plt.scatter(smelt_length, smelt_weight)
plt.xlabel('length')
plt.ylabel('weight')
plt.show()
- Matplotlib ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ 2๊ฐ์ ์ฐ์ ๋๋ฅผ ์๊น๋ก ๊ตฌ๋ถํ์ฌ ๋ํ๋ ๋๋ค. ์ฃผํฉ์์ด ๋น์ด, ํ๋์์ด ๋๋ฏธ์ dataset์ ๋๋ค.
- ๋น์ด & ๋๋ฏธ๋ ๋น์ทํ๊ฒ ๊ธธ์ด์ ๋ฌด๊ฒ๊ฐ ๋น๋กํ์ง๋ง, ๋์ด๋๋ ์ ๋๊ฐ ๋ค๋ฆ ๋๋ค. ๊ทธ๋์ ๋น์ด์ ์ฐ์ ๋๋ ์ ํ์ ์ด์ง๋ง, ๋ฌด๊ฒ๊ฐ ๊ธธ์ด์ ์ํฅ์ ๋ ๋ฐ๋๋ค๊ณ ๋ณผ ์ ์์ต๋๋ค.
K-์ต๊ทผ์ ์๊ณ ๋ฆฌ์ฆ
์ด์ ๋๋ฏธ์ ๋น์ด Dataset์ด ๋ค ์ค๋น๊ฐ ๋์๊ณ , ์ฐ์ ๋ ๊ทธ๋ํ๋ ๊ทธ๋ ค ๋ณด์์ผ๋, ๋ ๋ฐ์ดํฐ๋ฅผ ์ค์ค๋ก ๊ตฌ๋ถํ๊ธฐ ์ํด์ ๋จธ์ ๋ฌ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
- ์ฌ๊ธฐ์๋ K-์ต๊ทผ์ ์ด์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถํ๊ฒ ์ต๋๋ค.
K-์ต๊ทผ์ ์๊ณ ๋ฆฌ์ฆ ์ด๋?
- ๊ฐ๋จํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ค ํ๋๋ก, ๊ท์น์ด ์๊ธฐ ๋ณด๋ค๋ ๋ณดํต ์ ์ฒด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋๊ฒ์ด ์ ๋ถ์ ๋๋ค.
- ์ด์ Python ์์๋ ๋ ๋ฐ์ดํฐ์ ์ ๋ํด์ ํ๋์ list๋ก ๋ง๋ค์ด ์ค๋๋ค.
length = bream_length + smelt_length
weight = bream_weight + smelt_weight
- ์ฌ๊ธฐ์ ์ฌ์ฉํ๋ ๋จธ์ ๋ฌ๋ ํจํค์ง๋ scikit-learn ์ด๋ฉฐ, ์ด ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ๊ฐ ํน์ฑ์ list๋ฅผ ์ธ๋ก ๋ฐฉํฅ์ผ๋ก ๋์ด๋จ๋ฆฐ 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
- ์ด๋ ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ Python์ zip() ํจ์์ ๋ฆฌ์คํธ ๋ดํฌ ๊ตฌ๋ฌธ์ ์ฌ์ฉํด์ ๋ง๋๋ ๊ฒ์ ๋๋ค.
fish_data = [[l,w] for l,w in zip(length, weight)]
print(fist_data)
- for๋ฌธ์ zip() ํจ์์ length & weight list ์์ ์์๋ฅผ ํ๋์ฉ ๊บผ๋ด์ 1๊ณผ w์ ํ ๋นํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด [l,w]๊ฐ ํ๋์ ์์๋ก ๊ตฌ์ฑ๋ list๊ฐ ๋ง๋ค์ด ์ง๋๋ค. ์ด์ ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
[[25.4, 242.0], [26.3, 290.0], [26.5, 340.0], [29.0, 363.0], [29.0, 430.0], [29.7, 450.0], [29.7, 500.0], [30.0, 390.0], [30.0, 450.0], [30.7, 500.0], [31.0, 475.0], [31.0, 500.0], [31.5, 500.0], [32.0, 340.0], [32.0, 600.0], [32.0, 600.0], [33.0, 700.0], [33.0, 700.0], [33.5, 610.0], [33.5, 650.0], [34.0, 575.0], [34.0, 685.0], [34.5, 620.0], [35.0, 680.0], [35.0, 700.0], [35.0, 725.0], [35.0, 720.0], [36.0, 714.0], [36.0, 850.0], [37.0, 1000.0], [38.5, 920.0], [38.5, 955.0], [39.5, 925.0], [41.0, 975.0], [41.0, 950.0], [9.8, 6.7], [10.5, 7.5], [10.6, 7.0], [11.0, 9.7], [11.2, 9.8], [11.3, 8.7], [11.8, 10.0], [11.8, 9.9], [12.0, 9.8], [12.2, 12.2], [12.4, 13.4], [13.0, 12.2], [14.3, 19.7], [15.0, 19.9]]
- ์ด๋ ๊ฒ 2์ฐจ์ ๋ฆฌ์คํธ์ธ fist_data๊ฐ ๋ง๋ค์ด ์ก์ต๋๋ค.
์ด์ Dataset์ด ์์ฑ์ด ๋์์ผ๋, ์ปดํจํฐ๊ฐ ์ดํด ํ ์ ์๋๋ก ๋๋ฏธ์ ๋น์ด๋ฅผ 1๊ณผ 0์ผ๋ก ํํํด ๋ณด๊ฒ ์ต๋๋ค. ๋๋ฏธ์ ๋น์ด๋ฅผ ์์๋๋ก ๋์ดํ๊ธฐ ๋๋ฌธ์. ์ ๋ต ๋ฆฌ์คํธ๋ 1์ด 35๋ฒ์ด ๋์ค๊ณ , 0์ด 14๋ฒ ๋์ต๋๋ค.
#๋๋ฏธ๋ฅผ 1, ๋น์ด๋ 0
fish_target = [1]*35+[0]*14
fish_target
[1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0]
์ด์ scikit-learn ๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ K-์ต๊ทผ์ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ ํด๋์ค๋ฅผ KNeighborsClassifier๋ฅผ import ํด์ ๊ตฌํํด ๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ importํ KNeighborsClassifier ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค.
# k-์ต๊ทผ์ ์ด์
from sklearn.neighbors import KNeighborsClassifier
kn = KNeighborsClassifier()
- kn์ด importํ KNeighborsClassifier์ ๊ฐ์ฒด์ ๋๋ค.
์ด์ ์ด kn ๊ฐ์ฒด์ fish_data & fish_target data๋ฅผ ์ ๋ฌํ์ฌ ๋๋ฏธ๋ฅผ ์ฐพ๊ธฐ ์ํ ๊ธฐ์ค์ ํ์ต์ํค๊ฒ ์ต๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๋จธ์ ๋ฌ๋์์๋ ํ๋ จ (training) ์ด๋ผ๊ณ ํ๋ฉฐ, scikit-learn ์์๋ fit() method๊ฐ ํ๋ จ์ ์ญํ ์ ํฉ๋๋ค.
kn.fit(fish_data, fish_target)
# kn - ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ. fit - ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ต์์ผ ๋๋ฏธ๋ฅผ ์ฐพ๊ธฐ ์ํ ๊ธฐ์ค์ ์ฐพ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ด์ ๊ฐ์ฒด(ํน์ model) kn์ด ์ผ๋ง๋ ์ ํ๋ จ๋์๋์ง ์์๋ณด๊ฒ ์ต๋๋ค. scikit-learn์์ ๋ชจ๋ธ์ ํ๊ฐํ๋ method๋ score() method ์ ๋๋ค. ์ด method๋ 0์์ 1 ์ฌ์ด์ ๊ฐ์ ๋ฐํํฉ๋๋ค. 1์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ ๋ง์ถ์๋ค๋๊ฒ์ ๋ํ๋ ๋๋ค.
kn.score(fish_data, fish_target)
1.0
- ์ด๋ ๊ฒ 1.0์ด ๋์ค๋ฉด ์ ํ๋๊ฐ 100% ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ชจ๋ธ์ด ์ ํ๋๊ฐ 100%์ด๊ณ , ๋๋ฏธ์ ๋น์ด๋ฅผ ์๋ฒฝํ๊ฒ ๋ถ๋ฅ ํ๋ค๋ ๊ฒ์ ๋๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ ํ๋๋ ๋ฐฑ๋ถ์จ๋ก ๋ํ๋ด๋ฉฐ, ๊ฐ์ผ๋ก 0~1 ์ฌ์ด์ ๊ฐ์ ๊ฐ์ง๋ฉฐ, [์ ํ๋ = ๋งํ ๊ฐ์ / ์ ์ฒด ๋ฐ์ดํฐ ๊ฐ์] ์ ๋๋ค.
K-์ต๊ทผ์ ์ด์ ์๊ณ ๋ฆฌ์ฆ
์ฌ๊ธฐ์ ๋ง์ฝ์ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ ์ ๋ต์ ์์ธกํ๊ณ ์ถ๋ค๋ฉด? predict() method๋ฅผ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค.
- ์ฌ๊ธฐ์ kn.predict([[30, 600]))๋ฅผ ์ ๋ ฅํ๋ฉด, ๋ฐ์ดํฐ์ ์ ๋ง๊ฒ ์ ๋ต์ ์์ธกํด์ค๋ค.
kn.predict([[30, 600]]) #๊ธธ์ด 30cm, ๋ฌด๊ฒ 600g์ธ data ์์ธก
- ๊ทธ๋ฌ๋ฉด ์ฌ๊ธฐ์ ๋ช๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐธ๊ณ ํ ๊น์? KNeighborsClassifier ํด๋์ค๋ ๊ธฐ๋ณธ๊ฐ์ผ๋ก 5์ด์ง๋ง, ๋งค๊ฐ๋ณ์๋ก ๋ด๊ฟ์ ์์ต๋๋ค.
kn49 = KNeighborsClassifier(n_neighbors=49)
kn49.fit(fish_data, fish_target)
kn49.score(fish_data, fish_target)
- ์ฌ๊ธฐ์๋ ๋งค๊ฐ๋ณ์(n_neighbors=49) 49๊ฐ๋ฅผ ์ฐธ๊ณ ํด์ k-์ต๊ทผ์ ์ด์ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ fish_data๋ฅผ ์ ์ฉํด๋ฉด ๋ชจ๋ ์์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ์ฌ ์์ธกํ ์ ์์ต๋๋ค.
- ๊ทธ๋ฌ๋ฉด, fish_data 49๊ฐ์ค์ ๋๋ฏธ๊ฐ 35๊ฐ ์ด๋ฏ๋ก, ๋ค์๋ฅผ ์ฐจ์งํ๊ธฐ ๋๋ฌธ์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด๋ ๋ฌด์กฐ๊ฑด ๋๋ฏธ๋ก ์์ธกํ ๊ฒ์ ๋๋ค.
kn49.score(fish_data, fish_target)
#๊ฒฐ๊ณผ๊ฐ : ๋๋ต 71%์ ์ ํ๋
0.7142857142857143
ํต์ฌ ํจํค์ง & ํจ์
Matplotlib
- scatter() ๋ ์ฐ์ ๋๋ฅผ ๊ทธ๋ฆฌ๋ ๋ฑํ๋กฏ๋ฆฝ ํจ์์ ๋๋ค. ์ฒ์ 2๊ฐ์ ๋งค๊ฐ๋ณ์๋ก X์ถ ๊ฐ๊ณผ y์ถ ๊ฐ ์ ์ ๋ฌํฉ๋๋ค. ์ด ๊ฐ์ ํ์ด์ฌ ๋ฆฌ์คํธ ๋๋ Numpy ๋ฐฐ์ด์ ๋๋ค.
Scikit-learn
- KNeighborsClassifier()๋ k-์ต๊ทผ์ ์ด์ ๋ถ๋ฅ ๋ชจ๋ธ์ ๋ง๋๋ ์ฌ์ดํท๋ฐ ํด๋์ค์ ๋๋ค. n] neighbors ๋งค๊ฐ๋ณ์๋ก ์ด์์ ๊ฐ์๋ฅผ ์ง์ ํฉ๋๋ค. ๊ธฐ๋ณธ๊ฐ์ 5์ ๋๋ค.
- fit()์ ์ฌ์ด๊ฒ๋ฐ ๋ชจ๋์ ํ๋ จํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋์ ๋๋ค. ์ฒ์ ๋ ๋งค๊ฐ๋ณ์๋ก ํ๋ จ์ ์ฌ์ฉํ ํน์ฑ๊ณผ ์ ๋ต ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํฉ๋๋ค.
- predict()๋ ์ฌ์ดํท๋ฐ ๋ชจ๋ธ์ ํ๋ จํ๊ณ ์์ธกํ ๋ ์ฌ์ฉํ๋ ๋ฉ์๋์ ๋๋ค. ํน์ฑ ๋ฐ์ดํฐ ํ๋ ๋ง ๋งค๊ฐ๋ณ์๋ก ๋ฐ์ต๋๋ค.
- score() ๋ ํ๋ จ๋ ์ฌ์ดํท๋ฐ ๋ชจ๋ธ์ ์ฑ๋ฅ์ ์ธก์ ํฉ๋๋ค. ์ฒ์ ๋ ๋งค๊ฐ๋ณ์๋ก ํน์ฑ๊ณผ ์ ๋ต ๋ฐ์ด ํฐ๋ฅผ ์ ๋ฌํฉ๋๋ค. ์ด ๋ฉ์๋๋ ๋จผ์ predict() ๋ฉ์๋๋ก ์์ธก์ ์ํํ ๋ค์ ๋ถ๋ฅ ๋ชจ๋ธ์ผ ๊ฒฝ ์ฐ ์ ํ๊ณผ ๋น๊ตํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ์์ธกํ ๊ฐ์์ ๋น์จ์ ๋ฐํํฉ๋๋ค.
๋ฐ์ํ
'๐น๏ธ ํผ๊ณต๋จธ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ML] ํน์ฑ ๊ณตํ๊ณผ ๊ท์ (0) | 2023.09.24 |
---|---|
[ํผ๊ณต๋จธ์ ] Linear Regression (0) | 2023.09.23 |
[ํผ๊ณต๋จธ์ ] K-์ต๊ทผ์ ์ด์ ํ๊ท (0) | 2023.09.22 |
[ํผ๊ณต๋จธ์ ] ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ [๋ฐ์ดํฐ ๋ค๋ฃจ๊ธฐ] (0) | 2023.09.18 |
[ํผ๊ณต๋จธ์ ] ํ๋ จ ์ธํธ์ ํ ์คํธ ์ธํธ [๋ฐ์ดํฐ ๋ค๋ฃจ๊ธฐ] (0) | 2023.09.18 |