머신러닝&딥러닝

[머신러닝&딥러닝] 사이킷런(Scikit-learn)

거북이07 2023. 12. 27. 17:24

 

사이킷런(Scikit-learn)

파이썬 머신러닝 라이브러리 중 가장 많이 사용되는 대표적인 머닝러신 모듈이다.

 

  • 다양한 머신러닝 알고리즘을 제공
  • 다양한 샘플 데이터를 제공
  • 머신러닝 결과를 검증하는 기능을 제공
  • BSD 라이선스이기 떄문에 무료로 사용 및 배포가 가능
[사이킷런 공식 홈페이지]
https://scikit-learn.org/stable/

 

 

LinearSVC

클래스를 구분으로 하는 분류 문제에서 각 클래스를 잘 구분하는 선을 그려주는 방식을 사용하는 알고리즘

지도학습 알고리즘을 사용하는 학습 전용 데이터와 결과 전용 데이터를 모두 가지고 있어야 사용이 가능하다.

 

  • 다양한 머신러닝 알고리즘을 제공
  • 다양한 샘플 데이터를 제공
  • 머신러닝 결과를 검증하는 기능을 제공
  • BSD 라이선스이기 떄문에 무료로 사용 및 배포가 가능
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()

 

학습

.fit() 함수는 학습을 시켜주는 함수이다.

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