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, мы вычисляем полноту, учитывая только элементы пакета, для которых class_id присутствует в метке, и вычисляя долю элементов, для которых class_id входит в top-k predictions. Если class_id не указан, мы вычисляем полноту как среднюю частоту, с которой класс среди меток элемента пакета входит в top-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 имеет форму [batch_size, 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, а predictions имеет форму [batch size, 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 | Если включено немедленное выполнение. |
© 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/recall_at_k