'Scale back the data to the original representation
Parameters
X : array-like, shape [n_samples, n_features]
The data used to scale along the features axis.
copy : bool, optional (default: None)
Copy the input X or not.
Returns
X_tr : array-like, shape [n_samples, n_features]
Transformed array.'

def inverse_transform(self, X, copy=None):

    check_is_fitted(self, 'scale_')
    copy = (copy if (copy is not None) else self.copy)
    if sparse.issparse(X):
        if self.with_mean:
            raise ValueError('Cannot    uncenter    sparse    matrices:    pass    `with_mean=False`    instead    See    docstring    for    motivation    and    alternatives.')
        if (not sparse.isspmatrix_csr(X)):
            X = X.tocsr()
            copy = False
        if copy:
            X = X.copy()
        if (self.scale_ is not None):
            inplace_column_scale(X, self.scale_)
    else:
        X = np.asarray(X)
        if copy:
            X = X.copy()
        if self.with_std:
            X *= self.scale_
        if self.with_mean:
            X += self.mean_
    return X
