'Fit the model from data in X and transform X.
Parameters
X : array-like, shape (n_samples, n_features)
Training vector, where n_samples is the number of samples
and n_features is the number of features.
If affinity is "precomputed"
X : array-like, shape (n_samples, n_samples),
Interpret X as precomputed adjacency graph computed from
samples.
Returns
X_new : array-like, shape (n_samples, n_components)'

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

    self.fit(X)
    return self.embedding_
