NeuroWhAI의 잡블로그

[Machine Learning] sklearn.metrics.confusion_matrix 본문

개발 및 공부/라이브러리&프레임워크

[Machine Learning] sklearn.metrics.confusion_matrix

NeuroWhAI 2018. 3. 8. 18:37


confusion_matrix는 scikit-learn이라는 라이브러리에서 지원하는 함수로서
입력에 대해 모델이 예측한 결과 클래스와 실제 목표 클래스가 일치하는 개수를 센 결과를 반환해줍니다.
케라스 책 보다가 나와서 검색해본겁니다 ㅎ

반환하는 결과는 아래처럼 실제 목표 클래스는 행으로, 예측한 클래스는 열로 나타낸 행렬이 됩니다.

y_true = [2, 0, 2, 2, 0, 1] # 목표 클래스
y_pred = [0, 0, 2, 2, 0, 2] # 예측 클래스
confusion_matrix(y_true, y_pred)
# 예측: 0  1  2   # ↓목표
array([[2, 0, 0], # 0
       [0, 0, 1], # 1
       [1, 0, 2]])# 2

그러니까 정확도가 100%라면 위 행렬에서 좌-우 대각선에만 1 이상의 수가 있고 나머진 다 0이 될겁니다.
그러나 위 예시에선 오류가 2개 있기때문에 그게 카운트 되었습니다.
좌측 하단의 1은 '목표 클래스는 2인데 0이라고 예측된게 1번'이라는 뜻입니다.
우측 중간의 1은 '목표 클래스는 1인데 2라고 예측된게 1번'이라는 뜻이 되겠죠.

이걸 쓰면 모델이 어떤 클래스를 잘 맞추고 어떤 클래스에서 어떤 다른 클래스와 헷갈려 하는지 알 수 있게 해줍니다.




Comments