tf.contrib.metrics.streaming_auc()

tf.contrib.metrics.streaming_auc(predictions, labels, weights=None, num_thresholds=200, metrics_collections=None, updates_collections=None, curve='ROC', name=None)

Computes the approximate AUC via a Riemann sum.

The streaming_auc function creates four local variables, true_positives, true_negatives, false_positives and false_negatives that are used 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 afformentioned variables). The num_thresholds variable controls the degree of discretization with larger numbers of thresholds more closely approximating the true AUC.

For estimation of the metric over a stream of data, the function creates an update_op operation that updates these variables and returns the auc.

If weights is None, weights default to 1. Use weights of 0 to mask values.

Args:
  • predictions: A floating point Tensor of arbitrary shape and whose values are in the range [0, 1].
  • labels: A bool Tensor whose shape matches predictions.
  • weights: An optional Tensor whose shape is broadcastable to predictions.
  • num_thresholds: The number of thresholds to use when discretizing the roc curve.
  • metrics_collections: An optional list of collections that auc should be added to.
  • updates_collections: An optional list of collections that update_op should be added to.
  • curve: Specifies the name of the curve to be computed, 'ROC' [default] or 'PR' for the Precision-Recall-curve.

  • name: An optional variable_scope name.

Returns:
  • auc: A scalar tensor representing the current area-under-curve.
  • update_op: An operation that increments the true_positives, true_negatives, false_positives and false_negatives variables appropriately and whose value matches auc.
Raises:
  • ValueError: If predictions and labels have mismatched shapes, or if weights is not None and its shape doesn't match predictions, or if either metrics_collections or updates_collections are not a list or tuple.
doc_TensorFlow
2016-10-14 13:07:14
Comments
Leave a Comment

Please login to continue.