[python] scikit-learn을 이용한 F1 점수 평가

scikit-learn은 파이썬 머신러닝 라이브러리로, 다양한 평가지표를 제공합니다. 그 중 F1 점수는 이진 분류 모델의 성능을 평가하는데 가장 널리 사용되는 평가지표 중 하나입니다. F1 점수는 정밀도(precision)와 재현율(recall)의 조화평균입니다.

F1 점수 계산 방법

F1 점수는 다음과 같은 공식으로 계산됩니다.

F1 = 2 * (precision * recall) / (precision + recall)

정밀도는 “예측한 Positive 샘플 중 실제로 Positive인 샘플의 비율”로 계산됩니다. 재현율은 “실제 Positive인 샘플 중 예측한 Positive인 샘플의 비율”로 계산됩니다.

scikit-learn을 이용한 F1 점수 평가

scikit-learn의 metrics 모듈에는 다양한 평가지표가 포함되어 있습니다. F1 점수를 계산하려면, 정확한 예측 결과와 실제 결과를 비교하는 예측값(predicted)과 실제값(actual)을 사용해야 합니다.

다음은 scikit-learn을 이용해 F1 점수를 계산하는 예제 코드입니다.

from sklearn.metrics import f1_score

# 예측값과 실제값을 각각 리스트로 준비합니다.
predicted = [0, 1, 0, 1, 0]
actual = [0, 0, 1, 1, 1]

# F1 점수를 계산합니다.
f1 = f1_score(actual, predicted)

print("F1 Score:", f1)

위 예제에서 예측값과 실제값은 각각 [0, 1, 0, 1, 0][0, 0, 1, 1, 1]입니다. F1 점수를 계산하는 f1_score 함수를 이용해 결과를 얻을 수 있습니다.

결론

scikit-learn을 이용하면 F1 점수와 같은 다양한 평가지표를 손쉽게 계산할 수 있습니다. 이러한 평가지표를 통해 모델의 성능을 정량적으로 평가할 수 있으며, 다양한 모델의 비교와 선택에도 큰 도움이 됩니다.

참고 자료