<홀드아웃 방법>
- 가장 일반적으로 주로 사용하는 방법
- 주어진 데이터셋에서 훈련데이터/테스트데이터 2가지로 분할하는 방법
- 주로 20%를 테스트 데이터로 만들어서 진행하고 있음.
- train_test_split(X,y, test_size = __ , random_state = 0)
> X = 데이터셋의 정답 라벨에 대응하는 특징이 배열로 되어 있는 데이터
> y = 데이터셋의 정답 라벨이 배열로 되어 있는 데이터
> test_size = 0에서 1사이의 수치로 지정. 테스트 데이터로 선택하고 싶은 비율
> random_state > 랜덤 seed같은거,,! 안해주면 정밀도도 매번 달라짐.
<k-분할 교차 검증>
- 비복원 추출 (한 번 추출한 데이터는 제자리에 되돌리지 않는 추출법)
- 훈련데이터셋을 k개로 분할하고 k-1개의 데이터는 학습 데이터셋으로 사용하고 1개를 모델 테스에 사용하는 방법
- 리브-원-아웃 교차검증(Leave-One-Out Cross-Validation, LOOCV)이라는 k-분할 교차 검증 방법도 있음.
> 만약 20행의 데이터셋이 있다면 19행으로 학습하고 학습에 사용하지 않은 1행으로 테스트 함.
- 작은 데이터셋 (50~100행 정도의) 을 취급하는 경우에는 이 방법이 권장됨.
28행 > cross_val_score (데이터를 맞출때 사용할 객체, 맞출 데이터, 샘플의 그룹레이블, cv=교차 검증 분할 전략)
자세히 > https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.cross_val_score.html
▶ cv = 5일때는 평균이 0.91로 가장 높기 때문에 가장 적합하다는 것.
자세히 설명되어 있는 블로그 ▼
https://blog.naver.com/o_bley/223110732871
<과적합>
- 컴퓨터가 과하게 학습한 상태
- overfiting, 과대 적합
- 하나의 데이터에 영향을 받아서 올바른 기준을 구축하지 못한 것
* 과적합 : 과도하게 학습된 상태, 이를 일으키고 있는 모델을 분산, variance
* 과소적합 : 데이터를 제대로 학습하지 못한 상태, 이를 일으키고 있는 모델을 편향 bias
▼ underfitted이 과소적합, high bias / Overfitted가 과적합 high variance
그래서 이를 해결하기 위해 여러가지 방법이 있음.
▶ 1. 드롭아웃
- 학습시 무작위로 일부 뉴런(특정 입력에 대해 값을 출력하는 뉴런)을 없애는 방법
▶ 2. 정규화 regularization, normalization (대표적인 방법)
- 편향된 데이터의 영향을 없애는 방법.
<앙상블 학습>
- ensemble learning
- 여러 모델을 학습 시킴으로써 데이터의 일반화를 획득하려는 시도
1. 배깅 bagging : 복수의 모델을 동시에 학습시켜 예측 결과의 평균을 취하는 것
2. 부스팅 boosting : 모델의 예측 결과에 대한 모델을 만들어 일반화 성능을 높이는 기술
'머신러닝 > 개념익히기' 카테고리의 다른 글
머신러닝의 기본적인 흐름 및 평가 지표 함수 (0) | 2023.07.17 |
---|---|
혼동행렬 / 성능평가지표 (0) | 2023.07.17 |
지수함수와 로그함수 (0) | 2023.05.16 |
행렬 (0) | 2023.05.16 |
머신러닝에 필요한 수학 기본 - 합 / 곱 / 미분 (0) | 2023.05.15 |