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' строго предпочтительнее 'трапециевидного' (скоро будет устаревшим), так как он применяет тот же метод для 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. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/compat/v1/metrics/auc