Machine Learning

머신러닝 모델의 성능 평가

maron2ee 2020. 12. 5. 13:14

# Confusion Matrix (혼동 행렬)

실제 | 예측 5 X_Negative (음성) 5 O_Positive (양성)
5 X_Negative (음성) TN : True Negative (진음성) FP : False Positive (가양성)
5 O_Positive (양성) FN : False Negative (가음성) TP : True Positive (진양성)

 

# 머신러닝 모델의 성능 평가

 

1. TP (True Positive) : 맞는 것을 올바르게 예측

2. TN (True Negative) : 틀린 것을 올바르게 예측

3. FP (False Positive) : 틀린 것을 맞다고 잘못 예측     # 스팸 메일 구분

4. FN (False Negative) : 맞는 것을 틀렸다고 잘못 예측    # 코로나 진단키트

* 문제에 따라서 비율의 중요성이 달라짐

 

 

# Accuracy (정확도)

: 모델 성능 평가 지표

전체 샘플들을 정확히 분류한 비율

 

정확도 = (TN + TP) / (TN + FP + FN + TP)

 

 

# Precision (정밀도) 

: 모델의 예측값이 얼마나 정확하게 예측 됐는가를 나타내는 지표

양성(positive) 예측들 중에서 정답의 비율

 

정밀도 = TP / (TP + FP)

 

 

# Recall (재현율); 민감도 (sensitivity), TPR (True Positive Rate, 진양성 비율)

: 실제값 중에서 모델이 검출한 실제값의 비율을 나타내는 지표

실제 양성 샘플들 중에서 정답의 비율

 

재현율 = TP / (TP +FN)

 

 

# F1 Score (F1 점수)

: 정밀도와 재현율을 조화평균 내서 하나의 수치로 나타낸 지표

 

조화평균 = 2 * a * b / (a + b)

F1 점수 = 2 * 재현율 * 정밀도 / (재현율 + 정밀도)

 

 

# K-fold 교차 검증

 

보통 데이터셋의 20%를 테스트 데이터로 활용하고,

나머지 데이터의 90%를 학습 데이터로, 그리고 10%를 검증 데이터로 많이 사용

데이터가 충분하지 않은 경우 - 검증 정확도를 신뢰하기에 너무 편중

 

K-fold 교차 검증

: 테스트 데이터를 나눈 후의 학습 데이터의 일정 부분을 검증 데이터로 쓰며,

k번의 검증 과정을 통해 학습 데이터의 모든 데이터를 한 번씩 검증 데이터로 사용해서

k개의 검증 결과를 평균낸 값을 검증 성능 평가 지표로 사용하는 방식

 

* 모든 학습 데이터를 한 번씩 검증 데이터로 활용, 검증 데이터가 한쪽 데이터에 편향되지 않고,

따로 검증 데이터를 분리하지 않고 학습데이터에 대한 전반적인 검증 정확도를 구할 수 있음

 

* 장점 : 검증 결과가 일정 데이터에 치우치지 않고, 모든 데이터에 대한 결과이므로 신빙성이 높으며,

따로 검증 데이터를 분리하지 않아되 됨