더북(TheBook)

2.9.2 혼동 행렬

혼동 행렬은 모델이 예측한 결과의 진음성(true negative), 위양성(false positive), 위음성(false negative), 진양성(true positive) 지표를 분석할 수 있는 유용한 시각화 방식이다. 모델 성능을 잘 이해하려면 단순히 정확도 지표만 고려하는 것보다 혼동 행렬을 살펴보는 게 좋다.

진음성, 위양성, 위음성, 진양성의 정의는 다음과 같다.

진음성: 실제 클래스가 음성(당뇨 비발병)이고 모델도 음성(당뇨 비발병)으로 예측한 경우

위양성: 실제 클래스는 음성(당뇨 비발병)이지만 모델이 양성(당뇨 발병)으로 예측한 경우

위음성: 실제 클래스는 양성(당뇨 발병)이지만 모델이 음성(당뇨 비발병)으로 예측한 경우

진양성: 실제 클래스가 양성(당뇨 발병)이고 모델도 양성(당뇨 발병)으로 예측한 경우

 

좋은 모델이란 결국 위양성과 위음성을 최소로 줄이고 진음성과 진양성을 최대로 늘리는 모델이다.

파이썬에서는 사이킷런 패키지의 confusion_matrix 클래스로 혼동 행렬을 만들고 시본 패키지로 시각화할 수 있다.

icon_warning Warning

macOS에서 코드를 실행하면 다음과 같은 오류가 간혹 발생한다.

Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized

 

이 오류는 케라스나 판다스를 여러 번 사용할 때 라이브러리를 중복 사용해 발생하는 것으로 보인다. 가장 간단한 해결책은 다음 코드를 먼저 실행해 중복을 허용하는 것이다.

import os
os.environ['KMP_DUPLICATE_LIB_OK']='True'
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.