Source code for monte_carlo_analysis.metrics.AUCPRMetric

"""
**Author** : Robin Camarasa

**Institution** : Erasmus Medical Center

**Position** : PhD student

**Contact** : r.camarasa@erasmusmc.nl

**Date** : 2020-10-21

**Project** : monte_carlo_analysis

**Implement class AUCPRMetric**

"""
from monte_carlo_analysis.metrics import Metric
import numpy as np
from sklearn.metrics import average_precision_score
from numba import jit


[docs]class AUCPRMetric(Metric): """ Implement AUCPRMetric """ def __init__(self): super(AUCPRMetric, self) def __call__( self, prediction: np.array, uncertainty_map: np.array, ground_truth: np.array ): """ Compute the auc-pr metric """ # Get the class prediction class_prediction = np.argmax(prediction.mean(axis=0), axis=0) class_ground_truth = np.argmax(ground_truth, axis=0) # Compute misclassification map misclassification_map = (class_ground_truth != class_prediction) return average_precision_score( misclassification_map.ravel(), uncertainty_map.ravel() )