def plot_confusion_reports(y, y_hat, class_names=None):
    if class_names is None:
        class_names = list(set(y).union(set(y_hat)))

    # Compute confusion matrix
    cnf_matrix = confusion_matrix(y, y_hat)
    np.set_printoptions(precision=2)

    # Plot non-normalized confusion matrix
    plt.figure()
    plot_confusion_matrix(cnf_matrix, classes=class_names,
                          title='Confusion matrix, without normalization')

    # Plot normalized confusion matrix
    plt.figure()
    plot_confusion_matrix(cnf_matrix, classes=class_names, normalize=True,
                          title='Normalized confusion matrix')

    plt.show()