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 создает четыре локальные переменные, 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 | 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): 'трапецеидальный' [по умолчанию], применяющий правило трапеций; '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/versions/r2.9/api_docs/python/tf/compat/v1/metrics/auc