Класс Precision
Класс Precision вычисляет метрику точности,
которая показывает, какая доля объектов,
предсказанных моделью как положительные,
действительно является положительными.
Метрика часто используется в задачах бинарной
и многоклассовой классификации.
Первым параметром передается порог thresholds,
при котором предсказание считается положительным.
Вторым параметром можно передать имя метрики name.
Третьим параметром задается тип данных dtype.
Синтаксис
tf.keras.metrics.Precision(
thresholds=None,
name='precision',
dtype=None
)
Пример
Давайте создадим метрику точности и вычислим ее для нескольких предсказаний и истинных меток:
import tensorflow as tf
m = tf.keras.metrics.Precision()
m.update_state([0, 1, 1, 1], [0, 1, 0, 1])
res = m.result()
print(res)
Результат выполнения кода:
tf.Tensor(0.6666667, shape=(), dtype=float32)
Пример
Давайте зададим порог 0.5 и вычислим точность
для вероятностных предсказаний:
import tensorflow as tf
m = tf.keras.metrics.Precision(thresholds=0.5)
m.update_state([1, 0, 1, 0], [0.9, 0.4, 0.6, 0.2])
res = m.result()
print(res)
Результат выполнения кода:
tf.Tensor(1.0, shape=(), dtype=float32)
Пример
Давайте обнулим состояние метрики методом reset_state
и вычислим точность заново:
Результат выполнения кода:
tf.Tensor(0.5, shape=(), dtype=float32)
tf.Tensor(0.6666667, shape=(), dtype=float32)