Spec-Zone.ru › TensorFlow

tf.compat.v1.metrics.auc

Вычисляет приближенное значение AUC с помощью суммы Римана. (устарело)

tf.compat.v1.metrics.auc(
    labels,
    predictions,
    weights=None,
    num_thresholds=200,
    metrics_collections=None,
    updates_collections=None,
    curve='ROC',
    name=None,
    summation_method='trapezoidal',
    thresholds=None
)
Устарело: ЭТА ФУНКЦИЯ УСТАРЕЛА. Она будет удалена в будущей версии. Инструкции по обновлению: Значение AUC, возвращаемое этой функцией, может быть обновлено асинхронно, поэтому эта функция устарела. Используйте вместо неё tf.keras.metrics.AUC.

Функция auc создаёт четыре локальные переменные, true_positives, true_negatives, false_positives и false_negatives, которые используются для вычисления AUC. Для дискретизации кривой AUC используется линейно распределённый набор пороговых значений для вычисления пар значений отзыва и точности. Таким образом, площадь под кривой ROC вычисляется по высоте значений отзыва относительно скорости ложноположительных результатов, а площадь под кривой PR вычисляется по высоте значений точности относительно отзыва.

Это значение в конечном итоге возвращается как auc, идемпотентная операция, которая вычисляет площадь под дискретизованной кривой точности по отношению к значениям отзыва (вычисленным с использованием упомянутых выше переменных). Переменная num_thresholds контролирует степень дискретизации, и чем больше пороговых значений, тем точнее приближение к истинному значению AUC. Качество приближения может значительно варьироваться в зависимости от num_thresholds.

Для достижения наилучших результатов, predictions должны быть распределены приблизительно равномерно в диапазоне [0, 1] и не сосредоточены вокруг 0 или 1. Качество приближения AUC может быть плохим, если это не так. Установка summation_method в 'minoring' или 'majoring' может помочь оценить ошибку приближения, предоставив нижнюю или верхнюю границу оценки AUC. Параметр thresholds можно использовать для ручного указания пороговых значений, которые более равномерно разделяют прогнозы.

Для оценки метрики по потоку данных функция создаёт операцию update_op, которая обновляет эти переменные и возвращает auc.

Если weights равен None, веса по умолчанию равны 1. Используйте веса 0 для маскирования значений.

Аргументы
labels A Tensor, форма которого соответствует predictions. Будет приведено к типу bool.
predictions Плавающее число Tensor произвольной формы, значения которого находятся в диапазоне [0, 1].
weights Необязательные Tensor, ранг которых равен 0 или соответствует рангу labels, и которые должны быть совместимы с labels (т. е., все измерения должны быть либо 1, либо совпадать с соответствующим измерением labels).
num_thresholds Количество пороговых значений для дискретизации кривой ROC.
metrics_collections Необязательный список коллекций, к которым auc должны быть добавлены.
updates_collections Необязательный список коллекций, к которым update_op должны быть добавлены.
curve Указывает имя вычисляемой кривой, 'ROC' [по умолчанию] или 'PR' для кривой точность-полнота.
name Необязательное имя области переменных.
summation_method Указывает метод суммирования Римана (https://en.wikipedia.org/wiki/Riemann_sum): 'trapezoidal' [по умолчанию], применяющий правило трапеций; 'careful_interpolation', его разновидность, отличающаяся только более корректной схемой интерполяции для PR-AUC — интерполяция (положительных/отрицательных) значений, но не отношения, которое представляет точность; 'minoring' применяющий левую сумму для возрастающих интервалов и правую сумму для убывающих интервалов; 'majoring', выполняющий обратное. Обратите внимание, что 'careful_interpolation' строго предпочтительнее 'trapezoidal' (скоро будет устареть), так как он применяет тот же метод для ROC и лучший (см. Davis & Goadrich 2006 для получения подробностей) для кривой PR.
thresholds Необязательный список числовых значений, которые будут использоваться в качестве пороговых значений для дискретизации кривой. Если задано, параметр num_thresholds игнорируется. Значения должны быть в диапазоне [0, 1]. Пороговые значения крайних точек равные {-epsilon, 1+epsilon} для малого положительного значения epsilon будут автоматически включены, чтобы корректно обрабатывать прогнозы, равные точно 0 или 1.
Возвращаемые значения
auc Скаляр Tensor, представляющий текущую площадь под кривой.
update_op Операция, которая увеличивает значения переменных true_positives, true_negatives, false_positives и false_negatives соответственно и чьё значение соответствует auc.
Исключения
ValueError Если predictions и labels имеют несовпадающие формы, или если weights не None и его форма не соответствует predictions, или если metrics_collections или updates_collections не являются списком или кортежем.
RuntimeError Если включено выполнение в режиме Eager.

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/compat/v1/metrics/auc

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API