def score_task(self, X, Y, t=0, metric="accuracy", verbose=True, **kwargs):
        """Scores the predictive performance of the Classifier on task t

        Args:
            X: The input for the predict_task method
            Y: A [n] or [n, 1] np.ndarray or torch.Tensor of gold labels in
                {1,...,K_t}
            t: The task index to score
            metric: The metric with which to score performance on this task
        Returns:
            The (float) score of the Classifier for the specified task and
            metric
        """
        Y = self._to_numpy(Y)
        Y_tp = self.predict_task(X, t=t, **kwargs)
        probs = self.predict_proba(X)[t]
        score = metric_score(
            Y[t], Y_tp, metric, ignore_in_gold=[0], probs=probs, **kwargs
        )
        if verbose:
            print(f"[t={t}] {metric.capitalize()}: {score:.3f}")
        return score
Scores the predictive performance of the Classifier on task t

        Args:
            X: The input for the predict_task method
            Y: A [n] or [n, 1] np.ndarray or torch.Tensor of gold labels in
                {1,...,K_t}
            t: The task index to score
            metric: The metric with which to score performance on this task
        Returns:
            The (float) score of the Classifier for the specified task and
            metric