parameters: (
          self,
          dataset,
          cutoffs=list(range(1, 11, 1)) + list(range(11, 50, 5)),
          skip_set=None,
          exclude_known=True,
          verbose=True,
          **kwargs
      )
return_statement: return ret
docstring: Compute a model's precision and recall scores for a particular dataset.
  
          Parameters
          ----------
          dataset : SFrame
              An SFrame in the same format as the one used during training.
              This will be compared to the model's recommendations, which exclude
              the (user, item) pairs seen at training time.
  
          cutoffs : list, optional
              A list of cutoff values for which one wants to evaluate precision
              and recall, i.e. the value of k in "precision at k".
  
          skip_set : SFrame, optional
              Passed to :meth:`recommend` as ``exclude``.
  
          exclude_known : bool, optional
              Passed to :meth:`recommend` as ``exclude_known``. If True, exclude
              training item from recommendation.
  
          verbose : bool, optional
              Enables verbose output. Default is verbose.
  
          **kwargs
              Additional keyword arguments are passed to the recommend
              function, whose returned recommendations are used for evaluating
              precision and recall of the model.
  
          Returns
          -------
          out : dict
              Contains the precision and recall at each cutoff value and each
              user in ``dataset``.
  
          Examples
          --------
  
          >>> import turicreate as tc
          >>> sf = tc.SFrame('https://static.turi.com/datasets/audioscrobbler')
          >>> train, test = tc.recommender.util.random_split_by_user(sf)
          >>> m = tc.recommender.create(train)
          >>> m.evaluate_precision_recall(test)
  
          See Also
          --------
          turicreate.recommender.util.precision_recall_by_user
docstring_summary: Compute a model's precision and recall scores for a particular dataset.
docstring_tokens: Compute a model s precision and recall scores for a particular dataset .
function: def evaluate_precision_recall(
          self,
          dataset,
          cutoffs=list(range(1, 11, 1)) + list(range(11, 50, 5)),
          skip_set=None,
          exclude_known=True,
          verbose=True,
          **kwargs
      ):
          """
          Compute a model's precision and recall scores for a particular dataset.
  
          Parameters
          ----------
          dataset : SFrame
              An SFrame in the same format as the one used during training.
              This will be compared to the model's recommendations, which exclude
              the (user, item) pairs seen at training time.
  
          cutoffs : list, optional
              A list of cutoff values for which one wants to evaluate precision
              and recall, i.e. the value of k in "precision at k".
  
          skip_set : SFrame, optional
              Passed to :meth:`recommend` as ``exclude``.
  
          exclude_known : bool, optional
              Passed to :meth:`recommend` as ``exclude_known``. If True, exclude
              training item from recommendation.
  
          verbose : bool, optional
              Enables verbose output. Default is verbose.
  
          **kwargs
              Additional keyword arguments are passed to the recommend
              function, whose returned recommendations are used for evaluating
              precision and recall of the model.
  
          Returns
          -------
          out : dict
              Contains the precision and recall at each cutoff value and each
              user in ``dataset``.
  
          Examples
          --------
  
          >>> import turicreate as tc
          >>> sf = tc.SFrame('https://static.turi.com/datasets/audioscrobbler')
          >>> train, test = tc.recommender.util.random_split_by_user(sf)
          >>> m = tc.recommender.create(train)
          >>> m.evaluate_precision_recall(test)
  
          See Also
          --------
          turicreate.recommender.util.precision_recall_by_user
          """
  
          user_column = self.user_id
          item_column = self.item_id
          assert (
              user_column in dataset.column_names()
              and item_column in dataset.column_names()
          ), "Provided data set must have a column pertaining to user ids and \
               item ids, similar to what we had during training."
  
          dataset = self.__prepare_dataset_parameter(dataset)
  
          users = dataset[self.user_id].unique()
  
          dataset = dataset[[self.user_id, self.item_id]]
  
          recs = self.recommend(
              users=users,
              k=max(cutoffs),
              exclude=skip_set,
              exclude_known=exclude_known,
              verbose=verbose,
              **kwargs
          )
  
          precision_recall_by_user = self.__proxy__.precision_recall_by_user(
              dataset, recs, cutoffs
          )
  
          ret = {"precision_recall_by_user": precision_recall_by_user}
  
          pr_agg = precision_recall_by_user.groupby(
              "cutoff",
              operations={
                  "precision": _Aggregate.MEAN("precision"),
                  "recall": _Aggregate.MEAN("recall"),
              },
          )
  
          pr_agg = pr_agg[["cutoff", "precision", "recall"]]
          ret["precision_recall_overall"] = pr_agg.sort("cutoff")
  
          return ret
function_tokens: def evaluate_precision_recall ( self , dataset , cutoffs = list ( range ( 1 , 11 , 1 ) ) + list ( range ( 11 , 50 , 5 ) ) , skip_set = None , exclude_known = True , verbose = True , * * kwargs ) : user_column = self . user_id item_column = self . item_id assert ( user_column in dataset . column_names ( ) and item_column in dataset . column_names ( ) ) , "Provided data set must have a column pertaining to user ids and \
               item ids, similar to what we had during training." dataset = self . __prepare_dataset_parameter ( dataset ) users = dataset [ self . user_id ] . unique ( ) dataset = dataset [ [ self . user_id , self . item_id ] ] recs = self . recommend ( users = users , k = max ( cutoffs ) , exclude = skip_set , exclude_known = exclude_known , verbose = verbose , * * kwargs ) precision_recall_by_user = self . __proxy__ . precision_recall_by_user ( dataset , recs , cutoffs ) ret = { "precision_recall_by_user" : precision_recall_by_user } pr_agg = precision_recall_by_user . groupby ( "cutoff" , operations = { "precision" : _Aggregate . MEAN ( "precision" ) , "recall" : _Aggregate . MEAN ( "recall" ) , } , ) pr_agg = pr_agg [ [ "cutoff" , "precision" , "recall" ] ] ret [ "precision_recall_overall" ] = pr_agg . sort ( "cutoff" ) return ret