PYTHON - scikit learn 오차행렬(confusion matrix)

jwKim·2023년 4월 4일
0

🌈 Python/SQL Tip

목록 보기
5/8

1. 오차행렬

오차행렬은 실제값과 모델의 예측값 사이에 어떤 관계가 있는지 보여주는 표이다. 통계에서 나온 개념이며 머신러닝에서 정밀도(precisiobn), 재현율(recall), f1 등 성능지표를 계산할 때 기본적으로 그린다.

이름에 맞게 오차행렬은 매우 혼돈이 된다.(confuse)

2. scikit learn에서의 오차행렬


일반적으로 머신러닝에서는 오차행렬을 위와 같이 그린다.(통계에서는 예측이 Y축에, 실제 값이 X축에 위치하는 경우가 많다. 이 또한 헷갈린다.)

머신러닝 프레임워크인 scikit learn(이하 sklearn)에서도 당연히 오차행렬을 그릴 수 있다. 그런데 그 결과가 우리가 일반적으로 그리는 오차행렬과 조금 다르다. sklearn.metrics.confusion_matrix()를 통해 얻을 수 있는 결과는 아래와 같다.

이 표 자체도 헷갈리는데 사용하는 분야에 따라서 표 모양도 조금씩 다르니 주의할 것! 추가적으로 sklearn을 통한 결과에는 축 정보가 없이 배열형태로만 반환하므로 더 헷갈린다!

3. 오차행렬 쉽게 그리기

아래 링크에서 내가 작성했던 오차행렬 팁이 있으니 확인해보자.
https://velog.io/@jwkim_1018/3.2-오차행렬Confusion-matrix

0개의 댓글