<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _prepare_inputs(self, X, y=None, type_of_inputs='classic', **kwargs):
 """Initializes the preprocessor and processes inputs. See `check_input` for more details. Parameters input: array-like The input data array to check. y : array-like The input labels array to check. type_of_inputs: `str` {'classic', 'tuples'} The type of inputs to check. If 'classic', the input should be a 2D array-like of points or a 1D array like of indicators of points. If 'tuples', the input should be a 3D array-like of tuples or a 2D array-like of indicators of tuples. **kwargs: dict Arguments to pass to check_input. Returns ------- X : `numpy.ndarray` The checked input data array. y: `numpy.ndarray` (optional) The checked input labels array. """

    self.check_preprocessor()
    return check_input(X, y,
                       type_of_inputs=type_of_inputs,
                       preprocessor=self.preprocessor_,
                       estimator=self,
                       tuple_size=getattr(self, '_tuple_size', None),
                       **kwargs)