24 lines
603 B
Python
24 lines
603 B
Python
import numpy as np
|
|
|
|
class StandardizeTransformer:
|
|
|
|
def __init__(self, axis=0):
|
|
self.axis = axis
|
|
self.yetfit=False
|
|
|
|
def fit(self, X):
|
|
print('fitting Standardizer')
|
|
std=np.std(X, axis=self.axis, ddof=1)
|
|
self.std = np.clip(std, 1e-5, None)
|
|
self.mean = np.mean(X, axis=self.axis)
|
|
self.yetfit=True
|
|
print('done\n')
|
|
return self
|
|
|
|
def transform(self, X):
|
|
if not self.yetfit: 'transform called before fit'
|
|
return (X - self.mean) / self.std
|
|
|
|
def fit_transform(self, X):
|
|
return self.fit(X).transform(X)
|