当我有训练、开发和测试集时,我是否适合 X 或 X_train 上的缩放器?

这是我的数据


X = X.reshape((-1, 784))

y = y.reshape((-1,1))

X_test = X_test.reshape((-1, 784))

y_test = y_test.reshape((-1,1))


X_train, X_val, y_train, y_val = train_test_split(X, 

                                                  y, 

                                                  test_size=0.1, 

                                                  random_state=1)

我是否适合 或 在 ?XX_train.fit


scaler = MinMaxScaler()

scaler.fit(X_train)


scaler = MinMaxScaler()

scaler.fit(X)

转换将如下所示


X_train = scaler.transform(X_train)

X_val = scaler.transform(X_val)

y_test = scaler.transform(y_test)


哔哔one
浏览 108回答 2
2回答

皈依舞

应仅使用训练数据以避免偏差和偏斜。在这个答案或许多其他来源中有一些更深入的解释。

Helenr

fit将为您提供用于未见过数据集的最小值和最大值,您必须在训练上使用fit,并在测试和开发集上进行转换from sklearn.preprocessing import MinMaxScalerdata = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]对训练数据进行拟合将为您提供在新数据1.e测试或开发中使用的最小值和最大值scaler = MinMaxScaler()scaler.fit(data)scaler.data_min_#oparray([-1.,  2.])scaler.data_max_#oparray([ 1., 18.])#now using formualax = (x-min(x))/(max(x)- min(x))new_data = [[25,42]](25-(-1))/1-(-1)  # for 25 #op13.0(42 - (2))/(18 - (2)) #for 42#op2.5scaler.transform([[25,42]])  # it uses the min and max value which we get using fit#oparray([[13. ,  2.5]])
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python