计算关于标签的预测精度。
用法
tf.keras.metrics.Precision(
thresholds=None, top_k=None, class_id=None, name=None, dtype=None
)
参数
-
thresholds
(可选)[0, 1] 中的浮点值或浮点阈值的 python 列表/元组。将阈值与预测值进行比较以确定预测的真值(即,高于阈值的是true
,低于阈值的是false
)。为每个阈值生成一个度量值。如果既没有设置阈值也没有设置 top_k,则默认使用thresholds=0.5
计算精度。 -
top_k
(可选)默认取消设置。一个 int 值,指定在计算精度时要考虑的 top-k 预测。 -
class_id
(可选)我们想要二进制度量的整数类 ID。这必须在半开区间[0, num_classes)
中,其中num_classes
是预测的最后一个维度。 -
name
(可选)指标实例的字符串名称。 -
dtype
(可选)度量结果的数据类型。
该指标创建两个局部变量,true_positives
和 false_positives
,用于计算精度。该值最终返回为 precision
,这是一个幂等运算,只需将 true_positives
除以 true_positives
和 false_positives
的总和。
如果 sample_weight
是 None
,则权重默认为 1。使用 0 的 sample_weight
来屏蔽值。
如果设置了top_k
,我们将计算精度,因为在批次条目的预测值最高的top-k 类中,一个类的平均频率是正确的,并且可以在该条目的标签中找到。
如果指定了class_id
,我们通过仅考虑批次中class_id
高于阈值和/或top-k 最高预测的条目来计算精度,并计算其中class_id
为确实是一个正确的标签。
单机使用:
m = tf.keras.metrics.Precision()
m.update_state([0, 1, 1, 1], [1, 0, 1, 1])
m.result().numpy()
0.6666667
m.reset_state()
m.update_state([0, 1, 1, 1], [1, 0, 1, 1], sample_weight=[0, 0, 1, 0])
m.result().numpy()
1.0
# With top_k=2, it will calculate precision over y_true[:2] and y_pred[:2]
m = tf.keras.metrics.Precision(top_k=2)
m.update_state([0, 0, 1, 1], [1, 1, 1, 1])
m.result().numpy()
0.0
# With top_k=4, it will calculate precision over y_true[:4] and y_pred[:4]
m = tf.keras.metrics.Precision(top_k=4)
m.update_state([0, 0, 1, 1], [1, 1, 1, 1])
m.result().numpy()
0.5
compile()
API 的用法:
model.compile(optimizer='sgd',
loss='mse',
metrics=[tf.keras.metrics.Precision()])
相关用法
- Python tf.keras.metrics.PrecisionAtRecall.merge_state用法及代码示例
- Python tf.keras.metrics.Precision.merge_state用法及代码示例
- Python tf.keras.metrics.PrecisionAtRecall用法及代码示例
- Python tf.keras.metrics.Poisson用法及代码示例
- Python tf.keras.metrics.Poisson.merge_state用法及代码示例
- Python tf.keras.metrics.Mean.merge_state用法及代码示例
- Python tf.keras.metrics.Hinge用法及代码示例
- Python tf.keras.metrics.SparseCategoricalAccuracy.merge_state用法及代码示例
- Python tf.keras.metrics.RootMeanSquaredError用法及代码示例
- Python tf.keras.metrics.SparseCategoricalCrossentropy.merge_state用法及代码示例
- Python tf.keras.metrics.sparse_categorical_accuracy用法及代码示例
- Python tf.keras.metrics.FalseNegatives用法及代码示例
- Python tf.keras.metrics.TrueNegatives用法及代码示例
- Python tf.keras.metrics.RecallAtPrecision.merge_state用法及代码示例
- Python tf.keras.metrics.SpecificityAtSensitivity用法及代码示例
- Python tf.keras.metrics.Mean用法及代码示例
- Python tf.keras.metrics.poisson用法及代码示例
- Python tf.keras.metrics.LogCoshError用法及代码示例
- Python tf.keras.metrics.MeanSquaredLogarithmicError用法及代码示例
- Python tf.keras.metrics.FalsePositives.merge_state用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.metrics.Precision。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。