为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

哔哔one 2022-08-02 18:41:40
这是我的数据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.fitscaler = 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)
查看完整描述

2 回答

?
皈依舞

TA贡献1851条经验 获得超3个赞

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


查看完整回答
反对 回复 2022-08-02
?
Helenr

TA贡献1780条经验 获得超3个赞

fit将为您提供用于未见过数据集的最小值和最大值,您必须在训练上使用fit,并在测试和开发集上进行转换


from sklearn.preprocessing import MinMaxScaler

data = [[-1, 2], [-0.5, 6], [0, 10], [1, 18]]

对训练数据进行拟合将为您提供在新数据1.e测试或开发中使用的最小值和最大值


scaler = MinMaxScaler()


scaler.fit(data)


scaler.data_min_

#op

array([-1.,  2.])


scaler.data_max_

#op

array([ 1., 18.])


#now using formuala

x = (x-min(x))/(max(x)- min(x))

new_data = [[25,42]]


(25-(-1))/1-(-1)  # for 25 

#op

13.0


(42 - (2))/(18 - (2)) #for 42

#op

2.5


scaler.transform([[25,42]])  # it uses the min and max value which we get using fit

#op

array([[13. ,  2.5]])


查看完整回答
反对 回复 2022-08-02
  • 2 回答
  • 0 关注
  • 106 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信