繁体   English   中英

使用 fit_transform 思想的归一化函数

[英]Normalization function using fit_transform idea

我想通过我根据 MinMax Scaler 的相同原理编写的函数来规范化我的 X_train 和 Y_train 数据。 我希望该函数返回训练数据的最小值和最大值,以便我可以在验证数据集上使用它们。 那是我写的代码:

def normalize(x, min=False, max=False):
  
    if min is False:
       min = np.min(x)
    if max is False:
       max = np.max(x)
    range = max - min

    return [(a - min) / range for a in x], min, max

问题是无论数据是什么,我的代码都会返回相同的最小值和最大值。 0 表示最小值,1 表示最大值。 我看不出是什么导致了问题。 有人可以帮我调试这段代码。

如果我理解正确(IIUC),您在同一数据上多次运行您的函数,并且在一次性标准化之后,您的数据的最小值和最大值在您进行标准化的任何时候都是 0 和 1。

>>> first_run = normalize([1,2,3])
>>> first_run
([0.0, 0.5, 1.0], 1, 3)

>>> second_run = normalize(first_run[0])
>>> second_run
([0.0, 0.5, 1.0], 0.0, 1.0)

>>> third_run = normalize(second_run[0])
>>> third_run
([0.0, 0.5, 1.0], 0.0, 1.0)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM