본문 바로가기
Python/DeepLearning

딥러닝 - 이미지분류 3) Confusion Matrix, Acrruracy

by 하니__ 2024. 4. 18.

 

 

 

딥러닝 - 이미지 분류 1) Data Preprocessing

이런 형태의 이미지를 gray scale image라고 한다 흔히 말하는 흑백 이미지라고 생각하면 되겠다 자세히는 흑과 백 사이의 색들이 조합된 이미지 즉 회색으로 표현한것이라 그레이 스케일 이미지인

hani08.tistory.com

 

 

 

딥러닝 - 이미지 분류 2) 모델 생성 및 확인

from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense, Flatten def build_model() : model = Sequential() model.add( Flatten( ) ) model.add( Dense( 128, 'relu' ) ) model.add( Dense( 10, 'softmax' ) ) model.compile( 'adam',

hani08.tistory.com

 

 

 

앞의 이미지분류가 끝났다면 컨퓨전 매트릭스와

 

Confusion Matrix 를 확인해야한다
Accuracy_score도 같이 확인하자

 

from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
y_pred = model.predict(X_test)
confusion_matrix(y_test, y_pred)

 

 

왜 에러가 난걸까?

 

테스트 해답 파일과 예측값의 배열이 맞지않아서 그렇다

reshape 해주자

 

y_pred_label = np.argmax(y_pred, axis=1)
cm = confusion_matrix(y_test, y_pred_label)

 

 

accuracy_score(y_test, y_pred_label)
0.8824

 

 

 

 

 

Confusion Matrix를 해야하는 이유

 

 

0번이 6번

2번이 4번,6번

6번이 0번,4번과 헷갈려한다는걸 알 수 있다

 

순서대로 보자

 

 

0번은 티셔츠,탑 인데 헷갈려하는 6번은 셔츠

사람도 충분히 헷갈려 할 수 있다

 

2번은 풀오버,  풀오버란 집업 형식이나 단추형식이 아닌 머리에서부터 써서 입는 형식의 옷

4번과,6번은 코트와 셔츠

뭐 나름 헷갈릴 수 있다

 

6번은 셔츠인데

헷갈려하는건 위의 0번과 마찬가지로 서로 헷갈려한다

그리고 4번은 코트,

 

막상 4번에서는 6번인 셔츠를 헷갈려하지 않은것에 비해 혼자만 헷갈릴수도 있다

 

 

 

이렇듯 컨퓨전 매트릭스는 인공지능이 어떤걸 혼란스러워 하는지를 알 수있고

개선방안을 찾아 볼 수 있겠다