阅读(5.9k) 书签 (0)

TensorFlow函数:tf.metrics.precision_at_thresholds

2018-10-13 13:42 更新

tf.metrics.precision_at_thresholds函数

tf.metrics.precision_at_thresholds(
    labels,
    predictions,
    thresholds,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

定义在:tensorflow/python/ops/metrics_impl.py.

计算predictions中不同thresholds的精度值.

该precision_at_thresholds函数为阈值的不同值创建了四个局部变量:true_positives,true_negatives,false_positives和false_negatives.precision[i]被定义为thresholds[i]上predictions的值的总权重,其中在labels中相应的条目是True,除以thresholds[i]上的值的总权重,即,true_positives[i] / (true_positives[i] + false_positives[i]).

为了估计数据流上的度量,该函数创建一个update_op操作来更新这些变量并返回precision.

如果weights是None,则权重默认为1,使用权重0来屏蔽值.

参数:

  • labels:正确标记(ground truth),Tensor的维度必须与predictions匹配,将被转换为 bool.
  • predictions:具有任意形状的浮点Tensor,其值在范围[0, 1]内.
  • thresholds:一个python列表或在[0, 1]范围内浮动阈值的元组.
  • weights:可选的Tensor,其秩为0或与labels具有相同的秩,并且必须可广播到labels(即,所有维度必须为1或者与相应的labels维度相同).
  • metrics_collections:auc应添加到的集合的可选列表.
  • updates_collections:update_op应添加到的集合的可选列表.
  • name:可选的variable_scope名称.

返回:

  • precision:一个形状为[len(thresholds)]的浮点Tensor.
  • update_op:表示递增true_positives,true_negatives,false_positives和false_negatives变量的操作,它们在precision计算中使用.

可能引发的异常:

  • ValueError:如果predictions和labels有不匹配的形状,或者weights不是None,并且它的形状与predictions不匹配,或者如果metrics_collections或updates_collections中任意一个不是一个列表或元组.
  • RuntimeError:如果启用了急切执行.