Fix normalizer to catch when output scale is zero.

This commit is contained in:
Neil Lawrence 2021-05-19 09:50:51 +01:00 committed by Neil Lawrence
parent 5c71aa45c7
commit 11f806df3f

View file

@ -90,6 +90,9 @@ class Standardize(_Norm):
Y = np.ma.masked_invalid(Y, copy=False)
self.mean = Y.mean(0).view(np.ndarray)
self.std = Y.std(0).view(np.ndarray)
if np.any(self.std) == 0:
self.std[np.where(Y_std==0)]=1.
warnings.warn("Some values of Y have standard deviation of zero. Resetting to 1.0 to avoid divide by zero errors.")
def normalize(self, Y):
super(Standardize, self).normalize(Y)