from sklearn.metrics import confusion_matrix
import pickle as pkl
import matplotlib.pyplot as plt
import seaborn as sn
path_table = "../table/"

with open(path_table+'CropDeepTrans_Fig13_ConfusionMatrices_NL_true.pkl', 'rb') as f:
    y_agg_true = pkl.load(f)
with open(path_table+'CropDeepTrans_Fig13_ConfusionMatrices_NL_pred.pkl', 'rb') as f:
    y_agg_pred = pkl.load(f)
with open(path_table+'CropDeepTrans_Fig13_ConfusionMatrices_NL_labels_name.pkl', 'rb') as f:
    labels_name = pkl.load(f)
    
conf_mat = np.round(100*confusion_matrix(y_agg_true, y_agg_pred, normalize="pred", 
                                         labels=labels_name), 2)
df_cm_NL = pd.DataFrame(conf_mat, index = labels_name, columns = labels_name)

hm = sn.heatmap(df_cm_NL, annot=True)
fig = hm.get_figure()
fig.savefig("./CropDeepTrans_Fig13_ConfusionMatrices_NL.png", bbox_inches='tight')

with open(path_table+'CropDeepTrans_Fig13_ConfusionMatrices_FR_true.pkl', 'rb') as f:
    y_agg_true = pkl.load(f)
with open(path_table+'CropDeepTrans_Fig13_ConfusionMatrices_FR_pred.pkl', 'rb') as f:
    y_agg_pred = pkl.load(f)
with open(path_table+'CropDeepTrans_Fig13_ConfusionMatrices_FR_labels_name.pkl', 'rb') as f:
    labels_name = pkl.load(f)
    
conf_mat = np.round(100*confusion_matrix(y_agg_true, y_agg_pred, normalize="pred", 
                                         labels=labels_name), 2)
df_cm_FR = pd.DataFrame(conf_mat, index = labels_name, columns = labels_name)

hm = sn.heatmap(df_cm_FR, annot=True)
fig = hm.get_figure()
fig.savefig("./CropDeepTrans_Fig13_ConfusionMatrices_FR.png", bbox_inches='tight')