def forward_transform(self, X):
tX = X[:, self.data["cols"]]
if(self.algo == "min-max"):
return (tX-self.data["min"])/(self.data["max"]-self.data["min"])
elif(self.algo == "normal"):
return (tX-self.data["mu"])/self.data["std"]
elif(self.algo == "inv-normal"):
return norm.cdf((tX-self.data["mu"])/self.data["std"])
elif(self.algo == "auto-normal"):
tX = (tX-self.data["min"])/(self.data["max"]-self.data["min"])
lm = self.data['boxcox'][None, :]
boxcox = lambda x: (np.sign(x)*np.abs(x)**lm-1)/lm
return (boxcox(tX)-self.data["mu"])/self.data["std"]
elif(self.algo == "auto-inv-normal"):
tX = (tX-self.data["min"])/(self.data["max"]-self.data["min"])
lm = self.data['boxcox'][None, :]
boxcox = lambda x: (np.sign(x)*np.abs(x)**lm-1)/lm
return norm.cdf(boxcox(tX), self.data["mu"], self.data["std"])
评论列表
文章目录