4. 데이터 분리
- 과적합
데이터를 너무 과도하게 학습한 나머리 해당 문제만 잘 맞추고 새로운 데이터를 제대로 예측 혹은 분류하지 못하는 형상을 말한다. 과적합은 모델의 복잡도, 데이터 양, 학습 반복, 데이터 불균형 등과 같은 원인이 있을 수 있다.
예측 혹은 분류를 위해 모형의 복잡도를 설정하는데 모형이 지나치게 복잡하면 과대 적합, 지나치게 단순하면 과소 적합이 될 수 있다.
- 과적합 해결: 테스트 데이터의 분리
데이터를 모델을 학습하기 위한 학습 데이터와 평가하기 위한 테스트 데이터로 데이터를 분리한다.
구분 | 함수 & 패키지 | 설명 |
패키지 | sklearn.model_selection.train_test_split | 데이터 분리 패키지 |
파라미터 | test_size | 테스트 데이터 세트 크기 |
train_size | 학습 데이터 세트 크기 | |
shuffle | 데이터 분리 시 섞기 | |
random_state | 호출할 때마다 동일한 학습/테스트 데이터를 생성하기 위한 난수 값. 수행할 때 마다 동일한 데이터 세트로 분리하기 위해 숫자를 고정 시켜야 함 |
|
반환 | X_train, X_test, y_train, y_test | 학습 데이터와 테스트 데이터의 반환 값으로 순서 중요 |
5. 교차 검증과 GridSearch
- 교차 검증 (Cross Validation)
데이터 셋을 여러 개의 하위 집합으로 나누어 돌아가면서 검증 데이터로 사용하는 방법을 말한다.
교차 검증으로 K-Fold Validation이 있다. Train Data를 K개의 하위 집합으로 나누어 모델을 학습시키고 모델을 최적화 하는 방법이다. 데이터가 부족할 경우 유용하다. 분할 수는 Split 1: 학습용(Fold 2~5), 검증용(Fold1) / Split 2: 학습용(Fold1, 3~5), 검증용(Fold2) / Split 5까지 반복 후 최종 평가한다.
함수 & 패키지 | 설명 |
skelarn.model_selection.KFold | K-Fold Validation |
sklearn.model_selection.StrifiedKFold | 불균형한 레이블(Y)를 가지고 있을 때 사용 |
- 하이퍼 파라미터 자동적용: GridSearch
하이퍼 파라미터란 모델을 구성하는 입력 값 중 사람이 임의적으로 바꿀 수 있는 입력 값을 말한다. 다양한 값을 넣고 실험할 수 있기 때문에 이를 자동화해주는 Grid Search를 적용할 수 있다.
6. 전체 데이터 프로세스
'Today I Learned (TIL) > Python' 카테고리의 다른 글
[스탠다드] 데이터 분석 - 1회차, 2회차 (0) | 2024.09.25 |
---|---|
[챌린지] 시계열 기반 머신러닝 모델과 MLops 적용기 - 1회차 (2) | 2024.09.25 |
[TIL] 머신러닝의 심화 - 데이터분석 프로세스(2) (0) | 2024.08.16 |
[TIL] 머신러닝의 심화 - 데이터분석 프로세스(1) (0) | 2024.08.16 |
[TIL] 머신러닝의 기초 - 분류분석(로지스틱회귀) (0) | 2024.08.14 |