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 может быть неточным. Значения 'minoring' или 'majoring' для summation_method помогают оценить погрешность приближения, задавая нижнюю или верхнюю границу 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 Необязательное имя variable_scope.
summation_method Задаёт метод суммирования Римана (https://en.wikipedia.org/wiki/Riemann_sum): 'trapezoidal' [по умолчанию] — применение метода трапеций; 'careful_interpolation' — его вариант, отличающийся более точной схемой интерполяции для PR-AUC: интерполируются положительные и отрицательные результаты, но не их отношение, то есть точность; 'minoring' — применение суммирования слева для возрастающих интервалов и справа для убывающих; 'majoring' — обратный порядок. Обратите внимание: 'careful_interpolation' безусловно предпочтительнее 'trapezoidal' (который вскоре будет объявлен устаревшим), поскольку использует тот же метод для ROC и более точный метод для PR-кривой (подробности см. в Davis & Goadrich, 2006).
thresholds Необязательный список значений с плавающей точкой, используемых в качестве пороговых значений для дискретизации кривой. Если задан, параметр num_thresholds игнорируется. Значения должны находиться в диапазоне [0, 1]. Для корректной обработки предсказаний, в точности равных 0 или 1, к списку автоматически добавляются конечные пороговые значения {-epsilon, 1+epsilon}, где epsilon — небольшое положительное число.
Возвращает
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 execution.

© 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