Example #1
0
def evaluate_model(model, num_classes, X_test, Y_test):
    predicted = model.predict(X_test)
    target_label = convert_prob_to_label(Y_test)
    predicted_label = convert_prob_to_label(predicted)
    target = np.ravel(target_label)
    predicted = np.ravel(predicted_label)

    evaluator = Evaluator(num_classes)
    accuracy = evaluator.calculate_accuracy(target, predicted)
    cm, precisions, recalls = evaluator.calculate_metrics(target, predicted)
    precision = np.mean(precisions)
    recall = np.mean(recalls)
    f1 = 2 * precision * recall / (precision + recall)

    return Result(cm, accuracy, precisions, precision, recalls, recall, f1)