scikit-learn은 파이썬의 머신러닝 라이브러리로써, 다양한 머신러닝 알고리즘과 모델 평가 지표를 제공합니다. 이 중에서 재현율(Recall) 평가 지표는 분류 모델 성능을 평가하는 데 중요한 지표 중 하나입니다.
재현율이란?
재현율은 실제 positive인 샘플 중에 모델이 정확히 positive로 예측한 비율을 의미합니다. 공식적으로는 다음과 같이 정의됩니다.
Recall = TP / (TP + FN)
여기서 TP는 True Positive로 실제 positive인 샘플을 모델이 정확히 positive로 예측한 수를 의미하며, FN은 False Negative로 실제 positive인 샘플을 모델이 negative로 잘못 예측한 수를 의미합니다.
재현율 평가 방법
scikit-learn에서는 recall_score()
함수를 사용하여 재현율을 계산할 수 있습니다. 이 함수는 실제 label과 모델이 예측한 label을 입력으로 받아, 재현율을 계산하여 반환합니다.
from sklearn.metrics import recall_score
y_true = [0, 1, 1, 0, 1, 0]
y_pred = [0, 1, 0, 1, 0, 1]
recall = recall_score(y_true, y_pred)
print("Recall:", recall)
위의 예제에서는 0과 1로 이루어진 실제 label (y_true
)과 모델이 예측한 label (y_pred
)을 사용하여 재현율을 계산하고 출력합니다.
재현율 평가의 의의
재현율은 특히 불균형한 데이터셋에서 유용한 평가 지표입니다. 예를 들어, 암 진단 모델의 경우 암 환자인 경우가 상대적으로 적으며, 암을 놓치는 경우의 비용이 큽니다. 이럴 때 재현율을 높이는 것이 중요합니다. 재현율이 높을수록 모델이 실제 positive를 놓치지 않고 잘 예측하는 능력이 높다는 것을 의미합니다.
결론
scikit-learn을 활용하면 간편하게 재현율을 평가할 수 있습니다. 재현율은 불균형한 데이터셋에서 모델이 실제 positive를 정확히 예측하는 능력을 평가하는 중요한 지표입니다. 이를 통해 모델의 성능을 신속하게 평가하고 개선할 수 있습니다.
참고자료
- scikit-learn documentation: https://scikit-learn.org/stable/index.html
- sklearn.metrics.recall_score: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.recall_score.html