Note ≡
역주 사이킷런 0.22 버전에서 추가된 plot_confusion_matrix() 함수를 사용하면 오차 행렬을 쉽게 그릴 수 있습니다. 첫 번째 매개변수로 훈련된 모델을 전달하고 그다음 테스트 데이터셋의 특성과 타깃 데이터를 전달하면 됩니다.
>>> from sklearn.metrics import plot_confusion_matrix
>>> plot_confusion_matrix(pipe_svc, X_test, y_test)
>>> plt.show()
▲ 그림 6-11 plot_confusion_matrix( ) 함수로 그린 오차 행렬
confusion_matrix() 함수와 plot_confusion_matrix() 함수는 normalize 매개변수를 사용하여 오차 행렬의 값을 정규화할 수 있습니다. 'true', 'pred'는 각각 행과 열 방향으로 정규화합니다. 'all'로 지정하면 전체 출력 값을 정규화합니다.
>>> plot_confusion_matrix(pipe_svc, X_test, y_test,
... normalize='all')
>>> plt.show()
▲ 그림 6-12 정규화된 오차 행렬
이 예에서 클래스 1(악성 종양)이 양성 클래스입니다. 모델은 71개의 샘플을 정확하게 클래스 0 (TN)으로 분류했습니다. 40개의 샘플은 클래스 1(TP)로 올바르게 분류했습니다. 클래스 1에 해당하는 두 개의 샘플을 클래스 0(FN)으로 잘못 분류했고 양성 종양인 하나의 샘플을 악성 종양(FP)으로 잘못 분류했습니다.15 다음 절에서 이 정보를 이용하여 여러 가지 오차 지표를 계산해 보겠습니다.
15 역주 악성 종양이 관심 대상인 양성(positive) 클래스입니다. 음성 클래스인 양성(benign) 종양과 단어가 같기 때문에 혼동하기 쉬우니 주의하세요.