머신러닝 모델의 성능 평가
# 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개의 검증 결과를 평균낸 값을 검증 성능 평가 지표로 사용하는 방식
* 모든 학습 데이터를 한 번씩 검증 데이터로 활용, 검증 데이터가 한쪽 데이터에 편향되지 않고,
따로 검증 데이터를 분리하지 않고 학습데이터에 대한 전반적인 검증 정확도를 구할 수 있음
* 장점 : 검증 결과가 일정 데이터에 치우치지 않고, 모든 데이터에 대한 결과이므로 신빙성이 높으며,
따로 검증 데이터를 분리하지 않아되 됨