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:如果启用了急切执行.