조화평균을 쓰는 이유는 재현율과 정밀도 중 하나가 0에 가깝게 낮을 때 지표에 그것이 잘 반영되도록 하기 위함이다. 재현율과 정밀도가 극단적인 예를 살펴보자. 재현율과 정밀도가 각각 0.9와 0.1이라고 하면, 이 둘의 산술평균은 (0.9 + 0.1) / 2 = 0.5이다. 두 성능지표를 종합해서 대푯값으로 삼고 보면 절반을 맞힌 것처럼 보인다. 그러나 조화평균인 F1 스코어는 2 × (0.9 × 0.1) / (0.9 + 0.1) = 0.18이다. 산술평균과 비교해 현격한 차이를 볼 수 있다.
print( metrics.confusion_matrix( y_test, predicted ) )
결과
[[ 3 82] [ 3 110]]
confusion_matrix 함수는 앞서 다룬 오차행렬을 보여준다. 결과에서 행은 실제값이고 열은 예측값이며, 그 안의 숫자는 True Positive, False Negative, False Positive, True Negative에 해당하는 개수다.