当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.metrics.SensitivityAtSpecificity用法及代码示例


在特异性 >= 指定值时计算最佳灵敏度。

继承自:MetricLayerModule

用法

tf.keras.metrics.SensitivityAtSpecificity(
    specificity, num_thresholds=200, class_id=None, name=None, dtype=None
)

参数

  • specificity 范围 [0, 1] 中的标量值。
  • num_thresholds (可选)默认为 200。用于匹配给定特异性的阈值数。
  • class_id (可选)我们想要二进制度量的整数类 ID。这必须在半开区间 [0, num_classes) 中,其中 num_classes 是预测的最后一个维度。
  • name (可选)指标实例的字符串名称。
  • dtype (可选)度量结果的数据类型。

给定特异性下的敏感性。

Sensitivity 测量被正确识别的实际阳性的比例 (tp /(tp + fn))。 Specificity 测量被正确识别的实际负数的比例 (tn /(tn + fp))。

该指标创建四个局部变量,true_positives , true_negatives , false_positivesfalse_negatives,用于计算给定特异性的灵敏度。计算给定特异性值的阈值并用于评估相应的灵敏度。

如果 sample_weightNone ,则权重默认为 1。使用 0 的 sample_weight 来屏蔽值。

如果指定了class_id,我们通过仅考虑批次中class_id 高于阈值预测的条目来计算精度,并计算其中class_id 确实是正确标签的部分。

有关特异性和敏感性的更多信息,请参阅以下内容。

单机使用:

m = tf.keras.metrics.SensitivityAtSpecificity(0.5)
m.update_state([0, 0, 0, 1, 1], [0, 0.3, 0.8, 0.3, 0.8])
m.result().numpy()
0.5
m.reset_state()
m.update_state([0, 0, 0, 1, 1], [0, 0.3, 0.8, 0.3, 0.8],
               sample_weight=[1, 1, 2, 2, 1])
m.result().numpy()
0.333333

compile() API 的用法:

model.compile(
    optimizer='sgd',
    loss='mse',
    metrics=[tf.keras.metrics.SensitivityAtSpecificity()])

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.metrics.SensitivityAtSpecificity。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。