2023. 6. 11. 20:34ㆍ파이썬/머신러닝 및 딥러닝
Scikit-learn Module (사이킷 런)
- 대표적인 파이썬 머신러닝 모듈
- 다양한 머신러닝 알고리즘을 제공
- 다양한 샘플 데이터를 제공
- 머신러닝 결과 검증하는 기능을 제공
- BSD 라이센스이여서, 무료로 사용 및 배포 가능
(BSD 라이센스: Bekeley Software Distribution 소프트웨어의 무료 사용, 수정 및 배포를 허용한 오픈 라이센스)
https://scikit-learn.org/stable/
✔️ 사이킷런 알고리즘
1. Linear SVC 알고리즘
- 분류모형
- 지도학습
- 클래스를 구분으로 하는 분류 문제에서 각 클래스를 잘 구분하는 선을 그려주는 방식을 사용하는 알고리즘
- 지도 학습 알고리즘을 사용하는 학습 전용 데이터 + 결과 전용 데이터가 있어야 사용이 가능한 알고리즘
✔️ 사용하기
1. 기초설정
2. 학습 데이터 준비
3. 모델 객체 생성
4. 학습데이터 학습시키기
fit(학습 독립변수, 학습 종속변수)
5. 예측( 시험 ! 종속변수 말고 입력변수만 넣어서 결과값을 알아보기)
predict(시험 데이터)
6. 결과 검증
accuracy_score(학습 종속변수, 시험 종속변수)
✔️하이퍼 파라미터
모델링할 때 사용자기 직접 세팅해주는 값을 뜻한다.
하이퍼 파라미터는 모델링할 때 사용자가 직접 세팅해주는 값을 뜻합니다. (They are often specified by the practitioner) learning rate나 서포트 벡터 머신에서의 C, sigma 값, KNN에서의 K값 등등 굉장히 많습니다. 머신러닝 모델을 쓸 때 사용자가 직접 세팅해야 하는 값은 상당히 많습니다. 그 모든 게 다 하이퍼 파라미터입니다. 하지만, 많은 사람들이 그런 값들을 조정할 때 그냥 '모델의 파라미터를 조정한다'라는 표현을 씁니다. 원칙적으로는 '모델의 하이퍼 파라미터를 조정한다'라고 해야 합니다.
Linear SVC의 Hyperparameter
1. C: 제약조건의 강도를 설정
2. max_iter : 최대반복 횟수를 지정
3. class_weight : 학습 분량
4. multi_class : 3개 이상으로 분류하게 설정
5. random_state: 값을 고정하는 역할
random_state를 설정하지 않으면 : 학습,시험 데이터를 나눌 시 데이터가 지속적으로 바뀐다.
✔️ 추가적인 공부
linear SVC 는 서포트 백터 머신
목적: N 차원의 데이터 공간에서 샘플 그룹들을 구분해내는 최적의 분할선(optimal decision boundary)을 찾는 것
Margin(마진) 최대화 하기!
정리가 잘 되어 있는 블로그
https://blog.naver.com/gdpresent/221717231990
'파이썬 > 머신러닝 및 딥러닝' 카테고리의 다른 글
Python(Colab) 의사 결정 나무(Decision Tree) (0) | 2023.06.13 |
---|---|
Python(Colab) 선형 회귀(Linear Regression) (0) | 2023.06.12 |
Python(Colab) 타이타닉 데이터 셋 (Titanic data set)(LabelEncoder) (0) | 2023.06.12 |
Python(Colab) 아이리스 데이터 셋 (Iris data set)(Scikit-Learn) (0) | 2023.06.12 |
Python(Colab) 머신러닝 개념 및 기초 (0) | 2023.06.11 |