|  View source on GitHub | 
Approximates the AUC (Area under the curve) of the ROC or PR curves.
Inherits From: Metric
tfma.metrics.AUC(
    num_thresholds: Optional[int] = None,
    curve: str = 'ROC',
    summation_method: str = 'interpolation',
    name: Optional[str] = None,
    thresholds: Optional[Union[float, List[float]]] = None,
    top_k: Optional[int] = None,
    class_id: Optional[int] = None
)
The AUC (Area under the curve) of the ROC (Receiver operating characteristic; default) or PR (Precision Recall) curves are quality measures of binary classifiers. Unlike the accuracy, and like cross-entropy losses, ROC-AUC and PR-AUC evaluate all the operational points of a model.
This class approximates AUCs using a Riemann sum. During the metric accumulation phase, predictions are accumulated within predefined buckets by value. The AUC is then computed by interpolating per-bucket averages. These buckets define the evaluated operational points.
This metric uses true_positives, true_negatives, false_positives and
false_negatives to compute the AUC. To discretize the AUC curve, a linearly
spaced set of thresholds is used to compute pairs of recall and precision
values. The area under the ROC-curve is therefore computed using the height of
the recall values by the false positive rate, while the area under the
PR-curve is the computed using the height of the precision values by the
recall.
This value is ultimately returned as auc, an idempotent operation that
computes the area under a discretized curve of precision versus recall values
(computed using the aforementioned variables). The num_thresholds variable
controls the degree of discretization with larger numbers of thresholds more
closely approximating the true AUC. The quality of the approximation may vary
dramatically depending on num_thresholds. The thresholds parameter can be
used to manually specify thresholds which split the predictions more evenly.
For a best approximation of the real AUC, predictions should be distributed
approximately uniformly in the range [0, 1]. The quality of the AUC
approximation may be poor if this is not the case. Setting summation_method
to 'minoring' or 'majoring' can help quantify the error in the approximation
by providing lower or upper bound estimate of the AUC.
If sample_weight is None, weights default to 1.
Use sample_weight of 0 to mask values.
| Args | |
|---|---|
| num_thresholds | (Optional) Defaults to 10000. The number of thresholds to use when discretizing the roc curve. Values must be > 1. | 
| curve | (Optional) Specifies the name of the curve to be computed, 'ROC' [default] or 'PR' for the Precision-Recall-curve. | 
| summation_method | (Optional) Specifies the Riemann summation method used. 'interpolation'
  (default) applies mid-point summation scheme for ROC. For PR-AUC,
  interpolates (true/false) positives but not the ratio that is
  precision (see Davis & Goadrich 2006 for details); 'minoring' applies
  left summation for increasing intervals and right summation for
  decreasing intervals; 'majoring' does the opposite. | 
| name | (Optional) string name of the metric instance. | 
| thresholds | (Optional) A list of floating point values to use as the
thresholds for discretizing the curve. If set, the num_thresholdsparameter is ignored. Values should be in [0, 1]. Endpoint thresholds
equal to {-epsilon, 1+epsilon} for a small positive epsilon value will
be automatically included with these to correctly handle predictions
equal to exactly 0 or 1. | 
| top_k | (Optional) Used with a multi-class model to specify that the top-k values should be used to compute the confusion matrix. The net effect is that the non-top-k values are set to -inf and the matrix is then constructed from the average TP, FP, TN, FN across the classes. When top_k is used, metrics_specs.binarize settings must not be present. Only one of class_id or top_k should be configured. When top_k is set, the default thresholds are [float('-inf')]. | 
| class_id | (Optional) Used with a multi-class model to specify which class to compute the confusion matrix for. When class_id is used, metrics_specs.binarize settings must not be present. Only one of class_id or top_k should be configured. | 
Methods
computations
computations(
    eval_config: Optional[tfma.EvalConfig] = None,
    schema: Optional[schema_pb2.Schema] = None,
    model_names: Optional[List[str]] = None,
    output_names: Optional[List[str]] = None,
    sub_keys: Optional[List[Optional[SubKey]]] = None,
    aggregation_type: Optional[AggregationType] = None,
    class_weights: Optional[Dict[int, float]] = None,
    example_weighted: bool = False,
    query_key: Optional[str] = None
) -> tfma.metrics.MetricComputations
Creates computations associated with metric.
from_config
@classmethodfrom_config( config: Dict[str, Any] ) -> 'Metric'
get_config
get_config() -> Dict[str, Any]
Returns serializable config.