def _compute_f1()

in scripts/adapet/ADAPET/src/eval/Scorer.py [0:0]


    def _compute_f1(self):

        if self.is_multirc:
            f1_pred_lbl = []
            f1_true_lbl = []

            for (idx, pred_true_lbl) in self.dict_idx2logits_lbl.items():
                for (pred_lbl, true_lbl, _) in pred_true_lbl:
                    f1_pred_lbl.append(pred_lbl)
                    f1_true_lbl.append(true_lbl)

        else:
            f1_pred_lbl = []
            f1_true_lbl = []

            for (idx, pred_true_lbl) in self.dict_idx2logits_lbl.items():
                f1_pred_lbl.append(pred_true_lbl[0][0])
                f1_true_lbl.append(pred_true_lbl[0][1])

        if self.is_record:
            f1 = f1_score(f1_true_lbl, f1_pred_lbl)
            avg_f1 = np.mean(f1)
        else:
            #f1 = f1_score(f1_true_lbl, f1_pred_lbl, average=None)
            #avg_f1 = np.mean(f1)
            # print('not record')
            mic_f1 = f1_score(f1_true_lbl, f1_pred_lbl, average="micro")
            mac_f1 = f1_score(f1_true_lbl, f1_pred_lbl, average="macro")
            if len(set(list(f1_true_lbl))) == 2:
                avg_pre = average_precision_score(f1_true_lbl, f1_pred_lbl, average="macro")
            else:
                avg_pre = 0
            mic_avg_f1 = np.mean(mic_f1)
            mac_avg_f1 = np.mean(mac_f1)
            mean_avg_pre = np.mean(avg_pre)
            mic_avg_f1 = round(mic_avg_f1, 4)
            mac_avg_f1 = round(mac_avg_f1, 4)
            mean_avg_pre = round(mean_avg_pre, 4)                

        return "f1_mic {} f1_mac {} avg_pre {}".format(mic_avg_f1, mac_avg_f1, mean_avg_pre)