컴퓨터/파이썬 (Python)

[Python, 머신러닝] Confusion Matrix 그리기

COMKONG 2022. 3. 23. 17:38
반응형

학습 데이터 정확도를 확인을 위해 Accuracy를 많이 사용한다.

그러나 Accuracy는 balance한 데이터 셋이 아니라면 결과를 확인하기에 부족하다.

 

따라서 balance 하지 않은 데이터 셋의 정확도를 확인하고 싶다면,

Confusion matrix를 확인해보아야 한다.

 

코드는 아래와 같으며 원하는 multiclass에 원하는 값으로 수정하여 사용하면 된다.

+) 라벨도 바꾸어 주어야 한다.

 

예시 코드

from sklearn.metrics import confusion_matrix
import seaborn as sns
from mlxtend.plotting import plot_confusion_matrix
import matplotlib.pyplot as plt
import numpy as np

#confusion_matrix(y, y_pred)

#원하는 값으로 수정하기

multiclass = np.array([
[10,20,30],
[20,30,10],
[10,10,30]
                       ])

fig, ax = plot_confusion_matrix(conf_mat=multiclass,
                                colorbar=True,
                                show_absolute=False,
                                show_normed=True)

#라벨 수정하기

ax.yaxis.set_ticklabels(['','Angry','Disgusted', 'Fearful'])
ax.xaxis.set_ticklabels(['','Angry','Disgusted', 'Fearful'])
plt.xticks(rotation=45)
plt.gcf().subplots_adjust(bottom=0.15)
plt.show()

 

코드 실행한 모습

Confusion matrix 수행 결과

 

반응형

'컴퓨터 > 파이썬 (Python)' 카테고리의 다른 글

[Python] wav 파일 자르기  (0) 2023.03.21
[Python] wav 파일 Speech-to-Text 파이썬 코드  (0) 2023.03.21
[Python] image to csv  (0) 2022.05.18
[Python] 이미지 흑백 변환  (0) 2022.05.18
[Python] 파일명 지정  (0) 2021.10.26