본문 바로가기

파이썬/모델 성능평가

(6)
회귀 평가지표 - MAE, MSE, R² 회귀 모형의 예측 결과는 수치로 나타나며, 실제 값과 예측 값의 차이가 작을수록(=편향이 작을수록, 오차가 작을수록) 성능이 좋다고 할 수 있다. 그렇기 때문에 일반적으로 회귀 모형을 평가할 때는 오차를 다양한 방식으로 평균하여 계산한 지표를 사용하며, 결정계수도 중요 지표로 사용한다. 1. 평가 지표 예측 오차를 이용해 회귀 모형의 성능을 평가하는 지표이다. 대표적인 것이 MAE와 MSE인데 MSE는 손실함수로, MAE는 회귀지표로 보통 사용된다. (1) MAE (평균절대오차) 오차 절대값의 평균으로 직관적이고 예측변수와 단위가 같다는 장점이 있다. 다만 에러의 크기를 그대로 반영해서 이게 under estimated인지 over estimated인지 파악하기가 어렵다. (2) MAPE (평균절대비율 ..
ROC 곡선(ROC curve)과 AUC란? 직접 그려보기 ROC곡선은 이진분류기의 성능을 측정하는 도구이다. ROC곡선의 생김새는 언뜻보면 recall-precision 곡선과 비슷해보이지만 FPR에 대한 TPR의 곡선이다. (X축이 FPR, Y축이 TPR) FPR(False Positive Rate): 거짓 양성 비율 (실제로는 음성인데 양성으로 잘못 분류) TPR(True Positive Rate): 진짜 양성 비율 (실제로도 양성이고 양성으로 잘 분류) 일단 ROC 커브에 대해 알아보기 전에 그 기본이 되는 오차행렬과 재현율, 정밀도에 대해서 먼저 짚고 넘어가자. 정확도와 F1 점수 개념 짚고 넘어가기 위 그림은 오차행렬이다. 오차행렬에서 TN, TP는 실제 음성/실제 양성 클래스를 각각 음성, 양성으로 정확하게 분류한 것이다. FP는 실제로는 음성인데 ..
그리드 서치로 최적화 하이퍼파라미터 찾기 (GridSearchCV) 머신러닝에서 모델의 성능을 높이기 위해서는 하이퍼파라미터를 적절하게 튜닝하는 것이 중요하다. 이 때 파라미터를 직접 하나하나 조정해가면서 최적의 성능을 찾을 수도 있겠지만 다소 무식한 방법이고 어떤 것이 최적화된 매개변수 값인지 알 수 없다. 그래서 사용하는 것이 그리드 서치나 랜덤서치, 베이지안 최적화와 같은 방법이다. 이번 포스팅에서는 가장 기초인 그리드 서치에 대해서 알아보자. 우선 데이터 셋은 단순히 훈련/테스트 셋으로만 나누면 새로운 데이터를 모델에 넣었을 때 맞지 않을 수 있기 때문에 중간에 모델의 성능을 평가하는 검증 셋도 반드시 필요하다. 보통 6:2:2의 비율로 훈련/검증/테스트 셋을 나눈다. 자세한 내용은 아래 포스팅을 참고 validation set이란 무엇일까? 그리드 서치란? 그리..
validation set이란? test set과의 차이점과 사용 방법 여태까지 공부를 할 때는 train set과 test set 두개로만 데이터를 나누었다. 다만 이렇게 train, test 두개로만 분리하는 것은 기초적인 수준이고, 보통 현업에서 모델을 만들 때는 train, test, validation set 세개로 나눈다. Validation Set과 Test Set의 차이? validation set : 학습이 이미 완료된 모델을 검증하기 위한 set (중간 점검) test set : 학습과 검증이 끝난 모델의 최종 성능 평가용 단순히 train, test로만 분리하면 train set으로 모델을 만들고 test set으로 성능을 평가하게 된다. 보통 현업에서 모델을 만들 때는 한번에 모델이 만들어지기 보다는 피드백을 받고 수정을 거치는 경우가 대부분이다. 그런..
쉽게 알아보는 K겹 교차검증(K-fold cross validation) 개념과 코드 K겹 교차검증은 통계학에서 모델을 평가하는 방법 중 하나이다. 딥러닝, 머신러닝에서도 모델 평가 방법으로 많이 사용된다. 보통 분류 모델 성능 평가에 StratifiedKFold를 많이 사용한다. k'겹'이라는게 무슨 말인가.. 초보자의 입장에서는 잘 와닿지 않는다. 기본적으로 머신러닝으로 모델을 만들 때 데이터를 train set과 test set으로 나눈다. 이때 test set은 모델 학습에는 사용되지 않고 만들어진 모델이 잘 학습되었는지, 오버피팅 되지는 않았는지를 평가하기 위해서 사용하는 데이터셋이다. 보통 train_test 비율은 7:3 혹은 8:2로 나눈다. k겹 교차검증을 하지 않으면 train set과 test set을 딱 한 번만 나눠서 모델링을 하는데 k겹 교차검증을 하면 데이터셋을..
F1 score와 accuracy, 분류기의 성능 평가 지표 머신러닝에서 분류기의 성능을 평가하는 방법은 여러가지가 있다. 오늘은 그 중에서 F1 score와 Accuracy에 대해 공부해보았다. F1 score의 개념을 알려면 우선 재현율과 정밀도의 개념을 알아야 한다. 결과/실제 True(참) False(거짓) True(참) TP(True Positive) FP(False Positive) False(거짓) FN(False Negative) TN(True Negative) 분류기를 만들어서 예측을 했을 때의 결과값은 총 4가지이다. 1. 실제 참, 예측 참 2. 실제 참, 예측 거짓 3. 실제 거짓, 예측 참 4. 실제 거짓, 예측 거짓 정밀도(precision score)은 예측이 참인 것 중에 실제도 참인 것의 비율이다. TP/TP+FP 재현율(recall..