tf.contrib.metrics.streaming_sparse_recall_at_k
Вычисляет recall@k прогнозов относительно разреженных меток.
tf.contrib.metrics.streaming_sparse_recall_at_k(
predictions, labels, k, class_id=None, weights=None, metrics_collections=None,
updates_collections=None, name=None
)
Если class_id не указано, мы вычислим recall как отношение истинных положительных результатов (т.е., правильных прогнозов, элементов в верхней k наибольших predictions, которые находятся в соответствующей строке в labels) к фактическим положительным результатам (вся labels строка). Если class_id указано, мы вычисляем recall, рассматривая только строки в пакете, для которых class_id находится в labels, и вычисляя долю из них, для которых class_id находится в соответствующей строке в labels.
streaming_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 для маскирования значений.
| Args | |
|---|---|
predictions | Числовое значение Tensor с формой [D1, ... DN, num_classes], где N >=
|
labels | int64 Tensor или SparseTensor с формой [D1, ... DN, num_labels], где N >= 1 и num_labels — число целевых классов для соответствующего прогноза. Обычно, N=1, и labels имеет форму [размер_пакета, num_labels]. [D1, ... DN] должно соответствовать predictions. Значения должны быть в диапазоне [0, num_classes), где num_classes — последнее измерение predictions. Значения за пределами этого диапазона всегда учитываются при подсчете false_negative_at_<k>. |
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 | Имя новой операции обновления и пространство имён для других зависимых операций. |
| Returns | |
|---|---|
recall | Скалярное значение float64 Tensor со значением true_positives разделённым на сумму true_positives и false_negatives. |
update_op | Operation, который увеличивает переменные true_positives и false_negatives соответствующим образом, и значение которого совпадает с recall. |
| Raises | |
|---|---|
ValueError | Если weights не равно None и его форма не совпадает с predictions, или если metrics_collections или updates_collections не являются списком или кортежем. |
© 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/r1.15/api_docs/python/tf/contrib/metrics/streaming_sparse_recall_at_k