[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 점수와 같은 다양한 평가지표를 손쉽게 계산할 수 있습니다. 이러한 평가지표를 통해 모델의 성능을 정량적으로 평가할 수 있으며, 다양한 모델의 비교와 선택에도 큰 도움이 됩니다.
참고 자료
- scikit-learn Documentation: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html
- Precision and Recall in Machine Learning: https://blog.mimacom.com/precision-and-recall-in-machine-learning/