def METHOD_NAME(self) -> PyFuncInputsOutputs:
    """
    Converts the dataset to a collection of pyfunc inputs and outputs for model
    evaluation. Required for use with mlflow.evaluate().
    """
    if self._targets:
        inputs = self._df.drop(columns=[self._targets])
        outputs = self._df[self._targets]
        return PyFuncInputsOutputs(inputs, outputs)
    else:
        return PyFuncInputsOutputs(self._df)