def METHOD_NAME(self, X, Y=None):
    """Fit to training data.
    core logic
    Parameters
    ----------
    X : pd.DataFrame
        training data to fit model to, time series
    Y : pd.Series, optional
        ground truth annotations for training if annotator is supervised
    Returns
    -------
    self : returns a reference to self
    Notes
    -----
    Create fitted model that sets attributes ending in "_".
    """
    X_np = X.to_numpy()
    if len(X_np.shape) == 1:
        X_np = X_np.reshape(-1, 1)
    self.estimator_ = clone(self.estimator)
    self.estimator_.fit(X_np)
    return self