본문 바로가기
데이터 시각화 및 애플리케이션 개발

[ML] 사이킷런(Scikit-learn)

by 바다의 공간 2024. 6. 30.

이번챕터는 많이 딥하게 알 필요는 없지만 전반적인 줄거리를 볼 수 있습니다.

1. 사이킷런(Scikit-learn)

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


2. LinearSVC

(사이킷런의 알고리즘 중 하나입니다)

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

LinearSVC

이렇게 2차원적으로 한번에 되지는 않고 압축을 한 것으로 알고리즘이 됩니다.

 

3.사이킷런 사용해보기

#구글은 pip할 필요 없음

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

 

 

결과 검증해보기

print(test_data, '의 예측 결과: ', test_label)
print('정답률: ', accuracy_score([0, 0, 0, 1], test_label))