사이킷런(Scikit-learn)
- 대표적인 파이썬 머신러닝 모듈이다.
- 다양한 머신러닝 알고리즘을 제공한다.
- 다양한 샘플 데이터를 제공한다.
- 머신러닝 결과를 검증하는 기능을 제공한다.
- BSD 라이선스이기 때문에 무료로 사용 및 배포가 가능하다.
- 사이킷런 공식 홈페이지: https://scikit-learn.org
scikit-learn: machine learning in Python — scikit-learn 0.16.1 documentation
scikit-learn.org
LinearSVC (Linear Support Vector Classifier)
- 클래스를 구분으로 분류 문제에서 각 클래스를 잘 구분하는 선을 그려주는 방식을 사용하는 알고리즘이다.
- 지도학습 알고리즘을 사용하는 학습 전용 데이터와 결과 전용 데이터를 모두 가지고 있어야 사용이 가능하다.
더보기

결과

결과

결과
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)

학습데이터는 2가지의 독립변수를 갖고, 1가지의 종속 변수를 갖는다. 데이터를 잘 확인해 보면 and연산자를 나타낸 것이라고 알 수 있다. 모두 True가 나와야 True가 나오고, 아닌 경우 False가 나온다.
학습데이터를 준비하고 모델링 객체를 만들고 학습을 시켜준다.
학습이 완료되면 검증을 해봐야 한다.
# 검증 데이터 준비
test_data = [[0, 0], [1, 0], [0, 1], [1, 1]]
# 예측
test_label = svc.predict(test_data)
test_label

검증은 보통 같은 데이터로 하지 않지만 우리는 학습데이터가 적기 때문에 같은 걸로 확인을 해본다.
결과에 대한 검증도 해본다.
# 결과 검증
print(test_data, "의 예측 결과", test_label)
print("정답률: ", accuracy_score([0, 0, 0, 1], test_label))

정답률이 1.0이 나온 건 100%라는 뜻이다.
'Python > 머신러닝, 딥러닝' 카테고리의 다른 글
Python 머신러닝 로지스틱 회귀 (0) | 2024.06.12 |
---|---|
Python 머신러닝 의사 결정 나무 (1) | 2024.06.11 |
Python 머신러닝 선형회귀 (0) | 2024.06.11 |
Python 머신러닝 DataSet - iris, titanic DataSet (0) | 2024.06.10 |
Python 머신러닝 (0) | 2024.06.10 |