'Fit the model from data in X and transform X.
Parameters
X : {array-like, sparse matrix, BallTree, KDTree}
Training vector, where n_samples in the number of samples
and n_features is the number of features.
Returns
X_new : array-like, shape (n_samples, n_components)'

def fit_transform(self, X, y=None):

    self._fit_transform(X)
    return self.embedding_
