下記のコードを実行しても、accuracyの値と混同行列の結果が一致しません。
accuracy: 0.9191
loss: 0.2799
accとlossが上記の値であることに対して、混同行列は以下のようになりました。
これでは、acc : 0.466 になってしまいます。
import numpy as np import matplotlib.pyplot as plt from sklearn.metrics import confusion_matrix predict_classes =np.argmax(predict_proba,axis=1) true_label = test_generator.classes cm = metrics.confusion_matrix(true_label, predict_classes) print(cm)
[[ 2 40 30] [ 30 470 368] [ 30 405 319]]
また、accuracyとlossは以下のように計算しました。
#data generate test_datagen=ImageDataGenerator(rescale=1.0/255) test_generator=test_datagen.flow_from_directory( test_dir, target_size=(224,224), batch_size=batch_size, classes=classes, class_mode='categorical', shuffle=True ) #evaluate model score=model.evaluate_generator(test_generator) print('\n test loss:',score[0]) print('\n test_acc:',score[1])
回答1件
あなたの回答
tips
プレビュー