본문 바로가기

데이터분석/이론

[회귀분석, 머신러닝]회귀모델의 성능지표, 머신러닝 모델의 성능 지표

회귀 모델의 성능지표(학습 data안에서 사용)

1. 결정계수(R^2)

2. Adjusted R^2

3. AIC(Akaike information criterion)

4. BIC(Bayes information criterion)

 

머신러닝에서 사용하는 모델의 성능 지표

1. MSE(Mean Squared Error)

2. MAPE(mean absolute percentage error)

3. 정확도(Accuracy)

4. G-mean, F1 measure

5. ROC(Receiver Operating Characteristics) curve, AUC


 

1. 결정계수(R^2)

 

-공식: R^2 = SSR/SST = 1 - SSE/SST

-Y의 총 변동중 회귀계수를 통해 설명할 수 있는 변동성의 비율

-클수록 좋음

-단점: 중요하지 않은 변수더라도, 변수의 개수가 증가할수록 R^2도 증가(회귀분석 성능지표로서 큰 의미x)

 

 

2. Adjusted R^2

 

-공식: adjusted R^2 = 1 - (SSE/(n-p))/(SST/(n-1))

-R^2에서 변수의 수가 많아질수록 값이 감소하도록 패널티를 준 값

-클수록 좋음

 

 

3. AIC(Akaike information criterion)

 

-공식: AIC = n * ln(SSE/n) + 2(p+1)

-MSE에 변수의 수가 많이질수록 값이 늘어나지 않도록 패널티를 준 값

-작을수록 좋음

-일반적으로 회귀분석의 model selection에 많이 쓰임

-단점: 표본이 커지면 부정확해짐

 

 

4. BIC(Bayes information criterion)

 

-공식: BIC = n * ln(SSE/n) + 2(p+1) * ln(n)

-AIC의 단점을 보완한 값

-작을수록 좋음

-표본의 크기가 커지면 AIC보다 BIC가 더 잘 맞음

 

 


1. MSE(Mean Squared Error)

 

-공식: MSE = (1/n) * sigma{ (y_i - y_i_hat)^2 }

-실제값에서 예측값을 뺀 값을 제곱한 SSE를 SSE의 자유도인 n으로 나눈 값(범위: 0~inf)

-회귀분석(Y:실수형인 경우)에서 주로 사용

-SSE 값이 최소가 되도록 beta를 추정

-값이 작을수록 좋음 but 과하게 줄이면 과적합 가능성 있음

    =>검증 data의 MSE를 줄이도록 추정

 

 

2. MAPE(mean absolute percentage error)

 

-공식: MAPE = (100/n) * sigma{ (y_i - y_i_hat)/(y_i) } , (y_i=/=0)

-0에 가까울수록 회귀모형의 성능이 좋음(범위: 0~100%)

-회귀모형에서 사용

 

 

3. 정확도(Accuracy)

 

-공식: Accuracy = 옳게 분류된 data 수/전체 data 수 = (TP+TN)/(TP+FN+FP+NT)

-혼동행렬(Confusion matrix, 실제 Positive/Negative와 예측 P/N로 만든 행렬)로 계산

-회귀(Y:실수형) 문제가 아닌 분류(Y:범주형) 문제에서 주로 사용(imbalanced가 아니고 8:2정도여도 사용)

-단점: (class imbalanced 문제의 경우) 모든 데이터를 정상이라고 예측해도 정확도가 높게 나옴

    =>실제 데이터는 불량을 감지하는 것이 목적, 불량 데이터는 소수(class imbalanced)인 경우가 많음

 

-정밀도(Precision): 옳게 분류된 불량(P) data 수/불량으로 예측한 data 수 = TP/(FP+TP)

    -분류 모형이 불량을 진단하기 위해 얼마나 잘 작동했는지

-재현율(Recall): 옳게 분류된 불량 data 수/실제 불량 data 수 = TP/(FN+TP)

    -불량 데이터중 실제로 불량이라고 진단한 제품의 비율(진단확률)

-특이도(Specificity): 옳게 분류된 정상(N) data 수/실제 정상 data 수 = TN/(TN+FP)

    -분류 모형이 정상을 진단하기 위해 얼마나 잘 작동했는지

 

 

4. G-mean, F1 measure

 

-공식: G-mean = sqrt( specificity * recall),

        F1 measure = 2 / ( 1/precision + 1/recall )

-정확도의 단점을 보완

-높을수록 좋음

-F1 measure를 더 많이 사용

 

 

5. ROC(Receiver Operating Characteristics) curve, AUC

 

-ROC curve: x축을 1-특이도(specificity), y축을 재현율(recall)로 하여 시각화한 그래프

-AUC: ROC curve의 면적(범위:0~1)

-ROC curve가 위로 볼록하고 AUC가 1에 가까울수록 좋음

-확률적으로 얼마나 더 좋은 모델인지