tf.keras.metrics.TopKCategoricalAccuracy 与 Precision@k 有何不同?

How does tf.keras.metrics.TopKCategoricalAccuracy differ from Precision@k?

来自推荐系统的 precision@k 是一个流行的指标。

precision@k = number of relevant predictions in top k / k

在 tf.keras.metrics.TopKCategoricalAccuracy 的 tensorflow 文档中指出

Computes how often targets are in the top K predictions.

https://www.tensorflow.org/api_docs/python/tf/keras/metrics/TopKCategoricalAccuracy

这似乎与 precision@k 完全相同。我是不是遗漏了什么或者它们是等价的,它只是归结为 TF/recommender 术语?

没有。你是完全正确的。 它们都是相同的指标。

TopKCategoricalAccuracy 和 Precison at k ,这两个指标彼此不同。让我们看一个例子。

例如在推荐用例中,我们为用户预测 5 部电影 ["A"、"B"、"C"、"D"、"F"] 并且用户观看了电影 'A'并拒绝了其余的。

  1. 然后精度为 1 = 1/1= 1
  2. 然后精度为 5 = 1/5(在 5 部电影用户中 select 只有一个)
  3. Top1CategoricalAccuracy(K=1)= 1 或 100%(因为在预测列表中第一部电影 'A' 被用户看过)
  4. Top5CategoricalAccuracy(K=5)= 1 或 100%(正确答案出现在您的前五次猜测中)