РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
406 of 824 menu

Класс BinaryAccuracy

Класс BinaryAccuracy вычисляет метрику точности для задач бинарной классификации. Метрика сравнивает предсказанные значения с истинными метками и возвращает долю совпадений. Первым параметром передаётся порог threshold, который определяет, при каком значении вероятность считается положительным классом. Вторым параметром можно передать имя метрики name, а третьим - тип данных dtype.

Синтаксис

tf.keras.metrics.BinaryAccuracy(threshold=0.5, name='binary_accuracy', dtype=None)

Пример

Давайте создадим метрику BinaryAccuracy и вычислим точность для простого набора предсказаний:

import tensorflow as tf m = tf.keras.metrics.BinaryAccuracy() m.update_state([1, 0, 1, 1], [0.9, 0.2, 0.8, 0.3]) print(m.result().numpy())

Результат выполнения кода:

0.75

Пример

Давайте изменим порог на 0.7 и посмотрим, как изменится результат:

import tensorflow as tf m = tf.keras.metrics.BinaryAccuracy(threshold=0.7) m.update_state([1, 0, 1, 1], [0.9, 0.2, 0.8, 0.3]) print(m.result().numpy())

Результат выполнения кода:

0.75

Пример

Давайте вычислим точность в составе модели с помощью метода compile:

import tensorflow as tf tf.random.set_seed(0) model = tf.keras.Sequential([ tf.keras.layers.Dense(1, activation='sigmoid', input_shape=(3,)) ]) model.compile(optimizer='sgd', loss='binary_crossentropy', metrics=[tf.keras.metrics.BinaryAccuracy()]) x = tf.constant([[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0], [1.0, 1.0, 1.0]]) y = tf.constant([1.0, 0.0, 1.0, 0.0]) model.fit(x, y, epochs=1, verbose=0) res = model.evaluate(x, y, verbose=0) print(res)

Результат выполнения кода:

[0.6931471824645996, 0.5]

Пример

Давайте сбросим состояние метрики с помощью метода reset_state и вычислим точность заново:

<+python+> import tensorflow as tf m = tf.keras.metrics.BinaryAccuracy() m.update_state([1, 0, 1, 1], [0.9, 0.2, 0.8, 0.3]) print(m.result().numpy()) m.reset_state() m.update_state([1, 0], [0.6, 0.4]) print(m.result().numpy()) <-python+>

Результат выполнения кода:

0.75 0.5

Смотрите также

  • класс Accuracy,
    который вычисляет общую точность предсказаний
  • класс BinaryCrossentropy,
    который вычисляет бинарную кросс-энтропию
  • класс Precision,
    который вычисляет точность положительных предсказаний
  • класс Recall,
    который вычисляет полноту предсказаний
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить