Computes best specificity where sensitivity is >= specified value
Computes best specificity where sensitivity is >= specified value
metric_specificity_at_sensitivity(..., sensitivity, num_thresholds =200L, class_id =NULL, name =NULL, dtype =NULL)
Arguments
...: Passed on to the underlying metric. Used for forwards and backwards compatibility.
sensitivity: A scalar value in range [0, 1].
num_thresholds: (Optional) Defaults to 200. The number of thresholds to use for matching the given sensitivity.
class_id: (Optional) Integer class ID for which we want binary metrics. This must be in the half-open interval [0, num_classes), where num_classes is the last dimension of predictions.
name: (Optional) string name of the metric instance.
dtype: (Optional) data type of the metric result.
Returns
A (subclassed) Metric instance that can be passed directly to compile(metrics = ), or used as a standalone object. See ?Metric for example usage.
Details
Sensitivity measures the proportion of actual positives that are correctly identified as such (tp / (tp + fn)). Specificity measures the proportion of actual negatives that are correctly identified as such (tn / (tn + fp)).
This metric creates four local variables, true_positives, true_negatives, false_positives and false_negatives that are used to compute the specificity at the given sensitivity. The threshold for the given sensitivity value is computed and used to evaluate the corresponding specificity.
If sample_weight is NULL, weights default to 1. Use sample_weight of 0 to mask values.
If class_id is specified, we calculate precision by considering only the entries in the batch for which class_id is above the threshold predictions, and computing the fraction of them for which class_id is indeed a correct label.
For additional information about specificity and sensitivity, see the following.