'Fits the shrunk covariance model
according to the given training data and parameters.
Parameters
X : array-like, shape = [n_samples, n_features]
Training data, where n_samples is the number of samples
and n_features is the number of features.
y : not used, present for API consistence purpose.
Returns
self : object
Returns self.'

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

    X = check_array(X)
    if self.assume_centered:
        self.location_ = np.zeros(X.shape[1])
    else:
        self.location_ = X.mean(0)
    covariance = empirical_covariance(X, assume_centered=self.assume_centered)
    covariance = shrunk_covariance(covariance, self.shrinkage)
    self._set_covariance(covariance)
    return self
