1
我不是來自統計學,但是通過做一個工作與機器學習和NN我看到縮放數據可以產生很多傷害。從我所瞭解的情況來看,在列車測試之前縮放數據並不是一個好的選擇,但請看看這個例子,當在列車測試分離之後完成縮放時。sklearn Standardscaler()可以影響測試矩陣的結果
import numpy as np
from sklearn.preprocessing import StandardScaler
train_matrix = np.array([[1,2,3,4,5]]).T
test_matrix = np.array([[1]]).T
e =StandardScaler()
train_matrix = e.fit_transform(train_matrix)
test_matrix = e.fit_transform(test_matrix)
print(train_matrix)
print(test_matrix)
[out]:
[[-1.41421356] #train data
[-0.70710678]
[ 0. ]
[ 0.70710678]
[ 1.41421356]]
[[ 0.]] #test data
StandardScaler類會做每個數據集的兩個不同的縮放處理,並且可能會損害您NN結果的錯誤是:
列車矩陣1 -1.41421356,而在測試矩陣1 0現在想象你用訓練權重的測試數據做一個預測模型。對於1,您會收到完全不同的結果。如何克服這一點?
感謝儀。你已經第二次幫助我了。祝一切順利! – Makaroniiii