# non-crater part
files = os.listdir('./crater_data/test_set/non-crater')
files.sort()

for i in range(0, len(files) - 1):
    X_eval.append(transform_image('./crater_data/test_set/non-crater/' + files[i + 1], size))
    y_eval.append(0)

# stacking the arrays   
X_eval = np.vstack(X_eval)

cnn_pred = cnn_classifier.predict_classes(X_eval, batch_size = 32)

print("evaluate the results using lime")
pretty_cm(cnn_pred, y_eval, ['crater', 'non-crater'], 'results/cnn/confusion_matrix.png')

correctly_classified_indices, misclassified_indices = evaluation_indices(cnn_pred, y_eval)

# correctly classified images
plt.figure(figsize=(50,10))
#shuffle(correctly_classified_indices)
for plot_index, good_index in enumerate(correctly_classified_indices[0:5]):
    plt.subplot(1, 5, plot_index + 1)
    plt.imshow(X_eval[good_index])
    plt.title(' Predicted: {}, Actual: {} '.format(labels_index[cnn_pred[good_index][0]], 
                                                 labels_index[y_eval[good_index]]), fontsize = 18) 
plt.savefig('results/cnn/correctly_classified.png', dpi=400)
                                                 
# lime explanation of correctly classified images
plt.figure(figsize=(50,10))
# non-crater part
files = os.listdir('./crater_data/test_set/non-crater')
files.sort()

for i in range(0, len(files) - 1):
    X_eval.append(transform_image('./crater_data/test_set/non-crater/' + files[i + 1], size))
    y_eval.append(0)

# stacking the arrays   
X_eval = np.vstack(X_eval)

cnn_pred = cnn_classifier.predict_classes(X_eval, batch_size = 32)

print("evaluate the results using lime")
pretty_cm(cnn_pred, y_eval, ['crater', 'non-crater'])

correctly_classified_indices, misclassified_indices = evaluation_indices(cnn_pred, y_eval)

# correctly classified images
plt.figure(figsize=(50,10))
#shuffle(correctly_classified_indices)
for plot_index, good_index in enumerate(correctly_classified_indices[0:5]):
    plt.subplot(1, 5, plot_index + 1)
    plt.imshow(X_eval[good_index])
    plt.title(' Predicted: {}, Actual: {} '.format(labels_index[cnn_pred[good_index][0]], 
                                                 labels_index[y_eval[good_index]]), fontsize = 18) 
plt.savefig('results/correctly_classified.png', dpi=400)
                                                 
# lime explanation of correctly classified images
plt.figure(figsize=(50,10))
示例#3
0
files = os.listdir('./crater_data/test_set/non-crater')
files.sort()

for i in range(0, len(files) - 1):
    X_eval.append(
        transform_image('./crater_data/test_set/non-crater/' + files[i + 1],
                        input_shape))
    y_eval.append(0)

# stacking the arrays
X_eval = np.vstack(X_eval)

preds = model.predict(X_eval, verbose=1)

print("evaluate the results using lime")
pretty_cm(preds, y_eval, ['crater', 'non-crater'],
          'results/googlenet/confusion_matrix.png')

correctly_classified_indices, misclassified_indices = evaluation_indices(
    preds, y_eval)

# correctly classified images
plt.figure(figsize=(50, 10))
#shuffle(correctly_classified_indices)
for plot_index, good_index in enumerate(correctly_classified_indices[0:5]):
    plt.subplot(1, 5, plot_index + 1)
    plt.imshow(X_eval[good_index])
    plt.title(' Predicted: {}, Actual: {} '.format(
        labels_index[preds[good_index][0]], labels_index[y_eval[good_index]]),
              fontsize=18)
plt.savefig('results/googlenet/correctly_classified.png', dpi=400)