<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fit(self, X, y=None, **fit_params):
 """Fit base estimators. Parameters X : array-like, shape = (n_samples, n_features) Training data. y : array-like, optional Target data if base estimators are supervised. Returns ------- self """

        X = numpy.asarray(X)
        self._fit_estimators(X, y, **fit_params)
        Xt = self._predict_estimators(X)
        self.meta_estimator.fit(Xt, y)

        return self