hit_rate_at_k#

scikitplot.corpus.hit_rate_at_k(y_true, y_pred, *, k=10, sample_weight=None, relevance_threshold=1, duplicates='raise', zero_division='warn', average='mean')[source]#

Fraction of queries with at least one relevant identifier in the first k.

Parameters:
y_truesequence or mapping

Relevance judgments per query.

y_predsequence or mapping

Rankings per query, best first.

kint or None, default=10

Cutoff; None uses the whole ranking.

sample_weightarray-like of shape (n_queries,), default=None

Per-query weights of the mean.

relevance_thresholdfloat, default=1

Grade from which a judged identifier is relevant.

duplicates{“raise”, “first”}, default=”raise”

What a repeated identifier in a ranking does.

zero_division{“warn”, 0.0, 1.0, np.nan}, default=”warn”

Accepted for a uniform signature; this metric is never undefined.

average{“mean”, None}, default=”mean”

None returns the per-query values.

Returns:
float or numpy.ndarray
Parameters:
  • y_true (Any)

  • y_pred (Any)

  • k (int | None)

  • sample_weight (Any)

  • relevance_threshold (float)

  • duplicates (str)

  • zero_division (Any)

  • average (str | None)

Return type:

Any

Examples

>>> hit_rate_at_k([["a"], ["b"]], [["x", "a"], ["x", "y"]], k=2)
0.5