Spec-Zone.ru › TensorFlow

tf.compat.v1.metrics.precision_at_k

Вычисляет точность@k предсказаний относительно разреженных меток.

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

Если указан class_id, точность вычисляется с учетом только тех элементов пакета, для которых class_id входит в число k наибольших значений predictions; затем вычисляется доля таких элементов, для которых class_id действительно является правильной меткой. Если class_id не указан, точность вычисляется как средняя частота, с которой класс из k классов с наибольшими предсказанными значениями для элемента пакета является правильным и присутствует в метке этого элемента.

precision_at_k создает две локальные переменные — true_positive_at_<k> и false_positive_at_<k>, — которые используются для вычисления частоты точности@k. Эта частота в конечном итоге возвращается как precision_at_<k>: идемпотентная операция, которая просто делит true_positive_at_<k> на общее значение (true_positive_at_<k> + false_positive_at_<k>).

Для оценки метрики на потоке данных функция создает операцию update_op, которая обновляет эти переменные и возвращает precision_at_<k>. Внутри операция top_k вычисляет Tensor, указывающий на верхние k значений predictions. Операции над множествами, примененные к top_k и labels, вычисляют истинно положительные и ложно положительные значения с весами weights. Затем update_op увеличивает true_positive_at_<k> и false_positive_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. Значения вне этого диапазона игнорируются.
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 Имя новой операции обновления и пространство имен для других зависимых операций.
Возвращает
precision Скалярный float64 Tensor со значением true_positives, деленным на сумму true_positives и false_positives.
update_op Operation, которая соответствующим образом увеличивает переменные true_positives и false_positives и значение которой совпадает с precision.
Исключения
ValueError Если 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/precision_at_k

Spec-Zone.ru

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