1. Cross Validation
데이터 셋을 서로 중복되지 않는 subset으로 나누어 평가를 실시하는 것을 뜻합니다. 고정된 training dataset과 test dataset을 통한 평가 및 튜닝으로 인해 test dataset에 과적합 되는 것을 방지하기 위한 방법입니다. holdout, k-fold, leave-p-out, leave-one-out, stratified k-fold cross validation 등이 있습니다.
holdout validation
- 주어진 train set을 임의의 비율로 다시 train-test로 분할하여 사용. 9:1 내지 7:3의 비율이 일반적.
- 데이터를 K개의 fold로 나눈다.
- 그 중 k-1개의 fold로 training을 수행한다. iteration마다 test set을 달리한다.
- 모든 fold가 한 번씩 test를 수행할 수 있도록, 전체 fold를 다 test에 사용하도록 k번 수행한다.
- 각 과정마다 정확도를 계산하고 최종 평균을 내어 정확도를 반환한다.
leave-p-out cross validation
- 전체 데이터에서 p개의 샘플을 선택하여 검증에 사용한다.
- test set을 구성할 수 있는 경우의 수 = nCp
- leave-one-out cross validation
- leave-p-out cross validation에서 p=1일 경우를 의미.
- 계산시간에 대한 부담을 줄이고, 더 좋은 결과를 도출.
- test set의 수가 적은 만큼 훈련에 사용되는 데이터 갯수가 늘어남.
2. metric
모델이 주어진 목표를 얼마나 잘 달성했는가를 측정해야 어떤 모델이 좋은 모델인지 알 수 있습니다.
회귀의 metric
-
RSS(단순 오차 제곱 합, 잔차제곱합)
-
R2(1-(RSS/전체 분산))
* 회귀모델의 설명력을 표현
- 값이 1에 가까울 수록 높은 성능의 모델
- 상대적 성능을 측정하는 지표
-
MSE(평균 제곱 오차)
* 오차에 대한 제곱이므로, 틀린 내용을 증폭시킴.
- 이상치 확인에 효과적. (=이상치에 민감함. robust하지 않다)
- MAE와는 다르게 예측값, 실제값 차이의 면적의 합 (=마찬가지로 특이치에 민감하다는 의미)
-
MAE(평균 절대값 오차)
* 절대값을 취하므로 직관적
- MSE보다 이상치에 대한 저항도가 높음.
- 단점: 절댓값을 취하므로, 모델이 underperformance인지, overperformance인지 알 수 없음.
- underperformance: 모델이 실제보다 낮은 값으로 예측함.
- overperformance: 모델이 실제보다 높은 값으로 예측함.
-
RMSE(MSE의 루트)
* RMSE를 사용하면 오류 지표를 실제 값과 유사한 단위로 다시 변환하여 해석이 용이.
-
RMAE (MAE의 루트)
-
MAPE
-
RMSLE (Root Mean Square Logarithmic Error)
-
R2 Score(Coefficient of Determination. 결정계수)
분류의 metric
- accuracy
- precision
- recall
- F1 Score
- Fall-out
참고자료
https://m.blog.naver.com/ckdgus1433/221599517834
https://mole-starseeker.tistory.com/30
https://rk1993.tistory.com/entry/%EB%AA%A8%EB%8D%B8-%EC%84%B1%EB%8A%A5-%ED%8F%89%EA%B0%80-%EC%A7%80%ED%91%9C-%ED%9A%8C%EA%B7%80-%EB%AA%A8%EB%8D%B8-%EB%B6%84%EB%A5%98-%EB%AA%A8%EB%8D%B8