본문 바로가기
AI/머신러닝

02. 사이킷런 (Scikit-learn) | LinearSVC

by 사라리24 2024. 6. 10.
SMALL

1. 사이킷런(Scikit-learn)

  

 

  • 대표적인 파이썬 머신러닝 모듈
  • 다양한 머신러닝 알고리즘을 제공
  • 다양한 샘플 데이터를 제공
  • 머신러닝 결과를 검증하는 기능을 제공
  • BSD 라이선스이기 때문에 무료로 사용 및 배포가 가능
  • 공식 홈페이지: https://scikit-learn.org
 

scikit-learn: machine learning in Python — scikit-learn 0.16.1 documentation

 

scikit-learn.org

 

 

 

2. Linear SVC

 -  클래스를 구분으로 하는 분류 문제에서 각 클래스를 잘 구분하는 선을 그려주는 방식을 사용하는 알고리즘
 - 지도학습 알고리즘을 사용하는 학습 전용 데이터와 결과 전용 데이터를 모두 가지고 있어야 사용이 가능 

 

  • 사용하기
 
 
          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