def param_projection(self, x_param, y_param, metric):
        """
        Projects the grid search results onto 2 dimensions.

        The wrapped GridSearch object is assumed to be fit already.
        The display value is taken as the max over the non-displayed dimensions.

        Parameters
        ----------
        x_param : string
            The name of the parameter to be visualized on the horizontal axis.

        y_param : string
            The name of the parameter to be visualized on the vertical axis.

        metric : string (default 'mean_test_score')
            The field from the grid search's `cv_results` that we want to display.

        Returns
        -------
        unique_x_vals : list
            The parameter values that will be used to label the x axis.

        unique_y_vals: list
            The parameter values that will be used to label the y axis.

        best_scores: 2D numpy array (n_y by n_x)
            Array of scores to be displayed for each parameter value pair.
        """
        return param_projection(self.estimator.cv_results_, x_param, y_param, metric)