'Akaike information criterion for the current model fit
and the proposed data.
Parameters
X : array of shape(n_samples, n_dimensions)
Returns
aic : float (the lower the better)'

def aic(self, X):

    return (((-2) * self.score(X).sum()) + (2 * self._n_parameters()))
