-간단한 모형일수록 under fitting(학습, 실제 data 모두 잘 안 맞음), 복잡한 모형일수록 over fitting됨(학습 data는 잘 맞지만 실제 data는 안 맞음)
데이터 분할
-과적합 방지를 위해 전체 data를 training & test(보통 8:2, 7:3) 또는 trainig & validation & test(보통 5:3:2, 4:3:3)으로 랜덤하게 나눔
-학습용 데이터(training data): 모형을 추정
-검증용 데이터(validataion data): 추정한 모형이 적합한지 검증
-테스트 데이터(test data): 최종 모형의 성능을 평가
-validation data로 k값(hypher parameter)을 조정함(=> validation data에 over fitting이 일어남)
-3가지로 나누는 게 좋고, hypher parameter가 없거나 고정되어있으면 2가지로 나눠도 됨
-데이터의 수가 많을 때 사용
-단점: 어떤 데이터는 학습용 데이터에 분류되지 않을 수도 있음
K-fold 교차검증(k-fold Cross Validation)
-모형의 적합성을 객관적으로 평가하기 위한 방법
-data를 k개(보통 5 or 10)로 나눈 뒤, 그중 하나를 검증(validation), 나머지를 학습(training) 집합으로 분류
-이 과정을 k번 반복 후 k개의 성능 지표의 평균으로 모형의 적합성 평가
-데이터의 수가 애매한 경우 많이 쓰임
-모든 data가 학습, 예측용으로 쓰임
LOOCV(Leave-One-Out Cross Validataion)
-k-fold 교차검증과 비슷한 개념으로 데이터의 수가 적을 때 사용
-n(data의 수)개의 model을 만들어 각 모델에서 하나의 sample만 제외하여 모델을 만들고, 제외한 sample로 성능 지표 계산
-이렇게 계산된 n개의 성능 지표의 평균을 최종 성능 지표로 사용
데이터 분석 과정
1. data 전처리
-data 병합, Y에 영향을 미치는 변수를 생각하여 목적에 맞게 파생변수 생성
-model의 성능을 높이는 방법
2. 실험설계
-class imbalance한 경우(모비율이 0.5에 가깝지 않은 경우): 학습 데이터, 검증 데이터 각각을 모비율에 맞춰서 sampling(층화 추출)
3. model
과적합(Over fitting)
-학습 데이터엔 잘 맞으나 검증, 실제 데이터엔 잘 안 맞음
-복잡한 모형일 때, 데이터가 적을 때 과적합이 일어나기 쉬움
-데이터가 매우 많으면 복잡한 모형이어도 괜찮음
-ex. 앙상블 모델-low bias&high variance
-적절한 모형 선택과 실험 설계를 통해 과적합 방지
'데이터분석 > 이론' 카테고리의 다른 글
[머신러닝]변수선택법, 교호작용 (0) | 2022.03.03 |
---|---|
[회귀분석, 머신러닝]회귀모델의 성능지표, 머신러닝 모델의 성능 지표 (0) | 2022.03.01 |
[회귀분석]다중공산성 개념과 진단 방법 (0) | 2022.03.01 |
[머신러닝 개념]머신러닝(Machine Learning)의 종류와 장단점, Tree 기반 모델 쓰는 이유 (0) | 2022.02.22 |
[데이터분석]데이터 수집, 데이터분석 과정, 데이터분석 이론 (0) | 2021.08.20 |