๐ก 1. Scikit-learn
- ๋ํ์ ์ธ ํ์ด์ฌ ๋จธ์ ๋ฌ๋ ๋ชจ๋
- ๋ค์ํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ ๊ณต
- ๋ค์ํ ์ํ ๋ฐ์ดํฐ ์ ๊ณต
- ๋จธ์ ๋ฌ๋ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ฆํ๋ ๊ธฐ๋ฅ ์ ๊ณต
- BSD ๋ผ์ด์ ์ค์ด๊ธฐ ๋๋ฌธ์ ๋ฌด๋ฃ๋ก ์ฌ์ฉ ๋ฐ ๋ฐฐํฌ ๊ฐ๋ฅ
- ์ฌ์ดํท๋ฐ ๊ณต์ ํํ์ด์ง
๐ก 2. LinearSVC
- ํด๋์ค๋ฅผ ๊ตฌ๋ถ์ผ๋ก ํ๋ ๋ถ๋ฅ ๋ฌธ์ ์์ ๊ฐ ํด๋์ค๋ฅผ ๊ตฌ๋ถํ๋ ์ ์ ๊ทธ๋ ค์ฃผ๋ ๋ฐฉ์์ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ
- ์ง๋ํ์ต ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ํ์ต ์ ์ฉ ๋ฐ์ดํฐ์ ๊ฒฐ๊ณผ ์ ์ฉ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ๊ฐ์ง๊ณ ์์ด์ผ ์ฌ์ฉํ ์ ์์
from sklearn.svm import LinearSVC
from sklearn.metrics import accuracy_score
# ํ์ต ๋ฐ์ดํฐ๋ฅผ ์ค๋น
learn_data = [[0,0], [1,0], [0,1], [1,1]] # ๋
๋ฆฝ๋ณ์
learn_label = [0,0,0,1] # ์ข
์๋ณ์
# ๋ชจ๋ธ ๊ฐ์ฒด ์์ฑ
svc = LinearSVC()
# ํ์ต
svc.fit(learn_data, learn_label)
# ๊ฒ์ฆ ๋ฐ์ดํฐ ์ค๋น
test_data = [[0,0], [1,0], [0,1], [1,1]]
# ์์ธก
test_label = svc.predict(test_data)
test_label
> array([0, 0, 0, 1])
# ๊ฒฐ๊ณผ ๊ฒ์ฆ
print(test_data, '์ ์์ธก ๊ฒฐ๊ณผ: ', test_label)
print('์ ๋ต๋ฅ : ', accuracy_score([0, 0, 0, 1], test_label))
> [[0, 0], [1, 0], [0, 1], [1, 1]] ์ ์์ธก ๊ฒฐ๊ณผ: [0 0 0 1]
> ์ ๋ต๋ฅ : 1.0