'Fit the model with X by extracting the first principal components.
Parameters
X : array-like, shape (n_samples, n_features)
Training data, where n_samples in the number of samples
and n_features is the number of features.
Returns
self : object
Returns the instance itself.'

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

    self._fit(check_array(X))
    return self
