[python] scikit-learn을 활용한 재현율 평가

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를 정확히 예측하는 능력을 평가하는 중요한 지표입니다. 이를 통해 모델의 성능을 신속하게 평가하고 개선할 수 있습니다.

참고자료