import numpy as np
[docs]class Scaler:
"""
归一化接口
"""
[docs]class NoneScaler(Scaler):
"""
不归一化
"""
[docs]class NormalScaler(Scaler):
"""
除以最大值归一化
x = x / x.max
"""
def __init__(self, maxx):
self.max = maxx
[docs]class StandardScaler(Scaler):
"""
Z-score归一化
x = (x - x.mean) / x.std
"""
def __init__(self, mean, std):
self.mean = mean
self.std = std
[docs]class MinMax01Scaler(Scaler):
"""
MinMax归一化 结果区间[0, 1]
x = (x - min) / (max - min)
"""
def __init__(self, minn, maxx):
self.min = minn
self.max = maxx
[docs]class MinMax11Scaler(Scaler):
"""
MinMax归一化 结果区间[-1, 1]
x = (x - min) / (max - min)
x = x * 2 - 1
"""
def __init__(self, minn, maxx):
self.min = minn
self.max = maxx
[docs]class LogScaler(Scaler):
"""
Log scaler
x = log(x+eps)
"""
def __init__(self, eps=0.999):
self.eps = eps