簡體   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