2.9.2 혼동 행렬
혼동 행렬은 모델이 예측한 결과의 진음성(true negative), 위양성(false positive), 위음성(false negative), 진양성(true positive) 지표를 분석할 수 있는 유용한 시각화 방식이다. 모델 성능을 잘 이해하려면 단순히 정확도 지표만 고려하는 것보다 혼동 행렬을 살펴보는 게 좋다.
진음성, 위양성, 위음성, 진양성의 정의는 다음과 같다.
• 진음성: 실제 클래스가 음성(당뇨 비발병)이고 모델도 음성(당뇨 비발병)으로 예측한 경우
• 위양성: 실제 클래스는 음성(당뇨 비발병)이지만 모델이 양성(당뇨 발병)으로 예측한 경우
• 위음성: 실제 클래스는 양성(당뇨 발병)이지만 모델이 음성(당뇨 비발병)으로 예측한 경우
• 진양성: 실제 클래스가 양성(당뇨 발병)이고 모델도 양성(당뇨 발병)으로 예측한 경우
좋은 모델이란 결국 위양성과 위음성을 최소로 줄이고 진음성과 진양성을 최대로 늘리는 모델이다.
파이썬에서는 사이킷런 패키지의 confusion_matrix 클래스로 혼동 행렬을 만들고 시본 패키지로 시각화할 수 있다.
Warning
macOS에서 코드를 실행하면 다음과 같은 오류가 간혹 발생한다.
Error #15: Initializing libiomp5.dylib, but found libiomp5.dylib already initialized
이 오류는 케라스나 판다스를 여러 번 사용할 때 라이브러리를 중복 사용해 발생하는 것으로 보인다. 가장 간단한 해결책은 다음 코드를 먼저 실행해 중복을 허용하는 것이다.
import os os.environ['KMP_DUPLICATE_LIB_OK']='True'