这是我的数据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 回答
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]])
添加回答
举报
0/150
提交
取消