TensorFlow函数:tf.metrics.precision_at_k

2018-10-12 16:04 更新

tf.metrics.precision_at_k函数

tf.metrics.precision_at_k(
    labels,
    predictions,
    k,
    class_id=None,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

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

计算与稀疏labels相关的predictions精度@ k.

如果指定了class_id,我们通过仅考虑class_id在top-k的最高predictions中的批次的条目来计算精度,并计算它们当中class_id确实是正确标签的分数.如果class_id未指定,我们将计算精度,因为在批处理条目预测值最高的前k类中,平均一个类是正确的,并且可以在该条目的标签中找到.

precision_at_k创建两个局部变量,true_positive_at_<k>和false_positive_at_<k>,它们被用于计算精度@K个频率.此频率最终返回为precision_at_<k>:这是一个幂等操作,简单地将true_positive_at_<k>除以总的(true_positive_at_<k>+ false_positive_at_<k>).

为了估计数据流上的度量,该函数创建一个update_op操作来更新这些变量并返回precision_at_<k>.在内部,top_k操作计算Tensor,指示顶部k predictions.设置应用于top_k和labels,通过weights计算加权的true positives和false positives.然后update_op使用得到的值递增true_positive_at_<k>和false_positive_at_<k>.

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

参数:

  • labels:具有形状[D1,... DN,num_labels]或[D1,... DN]的int64 Tensor或SparseTensor,其中后者暗示num_labels = 1;N> = 1,并且num_labels是关联预测的目标类的数量;通常,N = 1并且labels具有形状[batch_size,num_labels];[D1,... DN]必须匹配predictions.值应在[0,num_classes]范围内,其中num_classes是predictions的最后一个维度;超出此范围的值将被忽略.
  • predictions:具有形状[D1,... DN,num_classes]的浮点Tensor,其中N> = 1;通常,N = 1并且predictions具有形状[batch size, num_classes].最终维度包含每个类的logit值.[D1,... DN]必须匹配labels.
  • k:整数,k表示@k metric.
  • class_id:我们想要二进制度量的整数类ID.这应该在[0,num_classes]范围内,其中num_classes是predictions的最后一个维度.如果class_id超出此范围,则该方法返回NAN.
  • weights:Tensor,其秩为0或n-1,其中n是labels的秩.如果是后者,则必须是可广播的labels(即,所有维度必须为1或者与相应的labels维度相同).
  • metrics_collections:应添加值的集合的可选列表.
  • updates_collections:应添加更新的集合的可选列表.
  • name:新更新操作的名称,以及其他从属操作的命名空间.

返回:

  • precision:标量float64 Tensor,值为true_positives除以true_positives和false_positives的值.
  • update_op:适当增加true_positives和false_positives变量的操作,其值与precision匹配.

可能引发的异常:

  • ValueError:如果weights不是None,并且它的形状与predictions不匹配,或者如果metrics_collections或updates_collections中任意一个不是一个列表或元组.
  • RuntimeError:如果启用了急切执行.
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy