def evaluate(self, name, pprint): """ Evaluate model using predicted tracks and actually listened tracks. :param name: string, name of the experiment (if None, class name will be printed instead) :param pprint: bool, if True -> scores will be pretty printed :return: score of the model as a tuple (precision, recall, f-score) """ if name is None: name = self.type evaluation = Evaluator() score = evaluation.score(self.predicted_tracks, self.to_user_track_map(self.get_unique_user_tracks(self.testing_data).values)) if pprint: evaluation.pprint_scores(score, name) return score