def __init__()

in clearbox/metrics/ndcg.py [0:0]


  def __init__(self, k: int | None = None, pw_decay_factor: float = 1.0):
    """NDCG constructor.

    Args:
      k: Number of top docs to take into account when computing the metric for
        each query. We take all the docs into account when it's `None`.
      pw_decay_factor: Position weighted decay factor to apply to relevance
        target, float in (0, 1] range.
    """
    super().__init__()

    if k is not None and k < 1:
      raise ValueError(
          f'If provided, `k` should be integer >= 1, received {k}.'
      )
    if pw_decay_factor <= 0.0 or pw_decay_factor > 1.0:
      raise ValueError('`pw_decay_factor` should be in (0, 1] range.')

    self._k = k
    self._pw_decay_factor = pw_decay_factor