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 | 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