code: def evaluate(self, dataset, metric='auto', **kwargs):
          
          m = self.__proxy__['classifier']
          target = self.__proxy__['target']
          f = _BOW_FEATURE_EXTRACTOR
          test = f(dataset, target)
          return m.evaluate(test, metric, **kwargs)
docs: Evaluate the model by making predictions of target values and comparing
          these to actual values.
  
          Parameters
          ----------
          dataset : SFrame
              An SFrame having the same feature columns as provided when creating
              the model.
  
          metric : str, optional
              Name of the evaluation metric.  Possible values are:
  
              - 'auto'             : Returns all available metrics.
              - 'accuracy'         : Classification accuracy (micro average).
              - 'auc'              : Area under the ROC curve (macro average)
              - 'precision'        : Precision score (macro average)
              - 'recall'           : Recall score (macro average)
              - 'f1_score'         : F1 score (macro average)
              - 'log_loss'         : Log loss
              - 'confusion_matrix' : An SFrame with counts of possible prediction/true label combinations.
              - 'roc_curve'        : An SFrame containing information needed for an ROC curve
  
              For more flexibility in calculating evaluation metrics, use the
              :class:`~turicreate.evaluation` module.
  
          Returns
          -------
          out : dict
              Dictionary of evaluation results where the key is the name of the
              evaluation metric (e.g. `accuracy`) and the value is the evaluation
              score.
  
          See Also
          ----------
          create, predict, classify