class_docstr: Re-ranking algorithm that uses Plackett-Luce sampling on underlying scores.
  This uses the Gumbel trick :cite:p:`Grover2019-nc` to efficiently simulate from a Plackett-Luce
  distribution.
  
  Args:
      predictor(Predictor):
          A predictor that can score candidate items.
      selector(CandidateSelector):
          The candidate selector.
          If ``None``, defaults to :py:class:`UnratedItemsCandidateSelector`.
      rng_spec:
          A random number generator specification; see :py:func:`derivable_rng`.
class_docstr_tok: ["Re-ranking","algorithm","that","uses","Plackett-Luce","sampling","on","underlying","scores",".","This","uses","the","Gumbel","trick",":","cite",":","p",":","`","Grover2019-nc","`","to","efficiently","simulate","from","a","Plackett-Luce","distribution",".","Args",":","predictor","(","Predictor",")",":","A","predictor","that","can","score","candidate","items",".","selector","(","CandidateSelector",")",":","The","candidate","selector",".","If","``","None","``",",","defaults","to",":","py",":","class",":","`","UnratedItemsCandidateSelector","`",".","rng_spec",":","A","random","number","generator","specification",";","see",":","py",":","func",":","`","derivable_rng","`","."]
code: def fit(self, ratings, **kwargs):
      self.predictor.fit(ratings, **kwargs)
      self.selector.fit(ratings, **kwargs)
      self.rng_ = derivable_rng(self.rng_spec)
      return self
  
file_path: lkpy/lenskit/algorithms/ranking.py
imports: import logging
  import numpy
  from .None import Recommender, Predictor
  from ..util import derivable_rng
label_desc: Use image node_id 2 for calling the PlackettLuce obj's underlying member method code with example usage: obj.fit(ratings) and returns: self