def plot_confusion_matrix(conf_matrix, classes=None, normalize=False, title
    ='Confusion Matrix', cmap=None, print_raw_matrix=False, fig_size=(5, 5),
    show_help=False):
    """Check if Normalization Option is Set to True. If so, normalize the raw confusion matrix before visualizing
    #Other code should be equivalent to your previous function.
    Note: Taken from bs_ds and modified"""
    import itertools
    import numpy as np
    import matplotlib.pyplot as plt
    cm = conf_matrix
    if cmap == None:
        cmap = plt.get_cmap('Blues')
    fmt = '.2f' if normalize else 'd'
    fontDict = {'title': {'fontsize': 16, 'fontweight': 'semibold', 'ha':
        'center'}, 'xlabel': {'fontsize': 14, 'fontweight': 'normal'},
        'ylabel': {'fontsize': 14, 'fontweight': 'normal'}, 'xtick_labels':
        {'fontsize': 10, 'fontweight': 'normal', 'rotation': 45, 'ha':
        'right'}, 'ytick_labels': {'fontsize': 10, 'fontweight': 'normal',
        'rotation': 0, 'ha': 'right'}, 'data_labels': {'ha': 'center',
        'fontweight': 'semibold'}}
    if normalize:
        cm = cm.astype('float') / cm.sum(axis=1)[:, (np.newaxis)]
    fig, ax = plt.subplots(figsize=fig_size)
    plt.imshow(cm, interpolation='nearest', cmap=cmap)
    plt.title(title, **fontDict['title'])
    plt.colorbar()
    if classes is None:
        classes = ['negative', 'positive']
    tick_marks = np.arange(len(classes))
    plt.xticks(tick_marks, classes, **fontDict['xtick_labels'])
    plt.yticks(tick_marks, classes, **fontDict['ytick_labels'])
    thresh = cm.max() / 2.0
    for i, j in itertools.product(range(cm.shape[0]), range(cm.shape[1])):
        plt.text(j, i, format(cm[i, j], fmt), color='darkgray', **fontDict[
            'data_labels'])
    plt.tight_layout()
    plt.ylabel('True label', **fontDict['ylabel'])
    plt.xlabel('Predicted label', **fontDict['xlabel'])
    fig = plt.gcf()
    plt.show()
    if print_raw_matrix:
        print_title = 'Raw Confusion Matrix Counts:'
        print('\n', print_title)
        print(conf_matrix)
    if show_help:
        print(
            """For binary classifications:
        [[0,0(true_neg),  0,1(false_pos)]
        [1,0(false_neg), 1,1(true_pos)] ]

        to get vals as vars:
        >>  tn,fp,fn,tp=confusion_matrix(y_test,y_hat_test).ravel()
                """
            )
    return fig
