Spec-Zone.ru › TensorFlow 2.4

tf.compat.v1.metrics.recall_at_k

Вычисляет recall@k прогнозов по отношению к разреженным меткам.

tf.compat.v1.metrics.recall_at_k(
    labels, predictions, k, class_id=None, weights=None, metrics_collections=None,
    updates_collections=None, name=None
)

Если class_id указано, мы вычисляем recall, рассматривая только записи в пакете, для которых class_id находится в метке, и вычисляя долю из них, для которых class_id находится в топ-k predictions. Если class_id не указано, мы вычислим recall как частоту, с которой в среднем класс среди меток записи пакета находится в топ-k predictions.

sparse_recall_at_k создаёт две локальные переменные, true_positive_at_<k> и false_negative_at_<k>, которые используются для вычисления частоты recall_at_k. Эта частота в конечном итоге возвращается как recall_at_<k>: идемпотентная операция, которая просто делит true_positive_at_<k> на сумму (true_positive_at_<k> + false_negative_at_<k>).

Для оценки метрики по потоку данных функция создаёт операцию update_op, которая обновляет эти переменные и возвращает recall_at_<k>. Внутренне операция top_k вычисляет операцию Tensor, указывающую на топ-k predictions. Операции над множествами, применяемые к top_k и labels, вычисляют истинные положительные и ложные отрицательные значения, взвешенные weights. Затем update_op увеличивает true_positive_at_<k> и false_negative_at_<k> с использованием этих значений.

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

Аргументы
labels int64 Tensor или SparseTensor с формой [D1, ... DN, num_labels] или [D1, ... DN], где последнее подразумевает num_labels=1. N >= 1, а num_labels — количество целевых классов для соответствующего прогноза. Обычно N=1, и labels имеет форму [размер_пакета, num_labels]. [D1, ... DN] должно соответствовать predictions. Значения должны быть в диапазоне [0, num_classes), где num_classes — последняя размерность predictions. Значения за пределами этого диапазона всегда учитываются в false_negative_at_<k>.
predictions Вещественное число Tensor с формой [D1, ... DN, num_classes], где N >= 1. Обычно N=1, и прогнозы имеют форму [размер пакета, num_classes]. Последняя размерность содержит значения логарифмов для каждого класса. [D1, ... DN] должно соответствовать labels.
k Целое число, k для метрики @k.
class_id Целое число, идентификатор класса, для которого мы хотим двоичные метрики. Он должен быть в диапазоне [0, num_classes), где num_classes — последняя размерность predictions. Если class_id находится за пределами этого диапазона, метод возвращает NaN.
weights Tensor , ранг которого равен либо 0, либо n-1, где n — ранг labels. В последнем случае он должен быть совместим с передачей к labels (т.е., все измерения должны быть либо 1, либо такими же, как соответствующие измерения labels).
metrics_collections Необязательный список коллекций, в которые должны быть добавлены значения.
updates_collections Необязательный список коллекций, в которые должны быть добавлены обновления.
name Название новой операции обновления и пространство имён для других зависимых операций.
Возвращаемое значение
recall Скалярное float64 Tensor со значением true_positives , делённым на сумму true_positives и false_negatives.
update_op Операция Operation, которая увеличивает переменные true_positives и false_negatives соответствующим образом, а её значение соответствует recall.
Исключения
ValueError Если 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/recall_at_k

Spec-Zone.ru

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