當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python tf.keras.metrics.SpecificityAtSensitivity用法及代碼示例


計算靈敏度 >= 指定值的最佳特異性。

繼承自:MetricLayerModule

用法

tf.keras.metrics.SpecificityAtSensitivity(
    sensitivity, num_thresholds=200, class_id=None, name=None, dtype=None
)

參數

  • sensitivity 範圍 [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.SpecificityAtSensitivity(0.5)
m.update_state([0, 0, 0, 1, 1], [0, 0.3, 0.8, 0.3, 0.8])
m.result().numpy()
0.66666667
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, 2])
m.result().numpy()
0.5

compile() API 的用法:

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

相關用法


注:本文由純淨天空篩選整理自tensorflow.org大神的英文原創作品 tf.keras.metrics.SpecificityAtSensitivity。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。