'Return staged predictions for X.
The predicted regression value of an input sample is computed
as the weighted median prediction of the classifiers in the ensemble.
This generator method yields the ensemble prediction after each
iteration of boosting and therefore allows monitoring, such as to
determine the prediction on a test set after each boost.
Parameters
X : {array-like, sparse matrix} of shape = [n_samples, n_features]
The training input samples. Sparse matrix can be CSC, CSR, COO,
DOK, or LIL. DOK and LIL are converted to CSR.
Returns
y : generator of array, shape = [n_samples]
The predicted regression values.'

def staged_predict(self, X):

    check_is_fitted(self, 'estimator_weights_')
    X = self._validate_X_predict(X)
    for (i, _) in enumerate(self.estimators_, 1):
        (yield self._get_median_predict(X, limit=i))
