Python 训练集规范化后,测试集应该做什么

Python 训练集规范化后,测试集应该做什么,python,scikit-learn,dataset,data-science,Python,Scikit Learn,Dataset,Data Science,训练装置的头部看起来是这样的 Session ID Timestamp Item ID Price Quantity 0 420374 2014-04-06T18:44:58.314Z 214537888 12462 1 1 420374 2014-04-06T18:44:58.325Z 214537850 10471 1 2 281626 2014-04-06T09:40:13.032Z 21

训练装置的头部看起来是这样的

    Session ID  Timestamp               Item ID     Price   Quantity
0   420374  2014-04-06T18:44:58.314Z    214537888   12462   1
1   420374  2014-04-06T18:44:58.325Z    214537850   10471   1
2   281626  2014-04-06T09:40:13.032Z    214535653   1883    1
3   420368  2014-04-04T06:13:28.848Z    214530572   6073    1
4   420368  2014-04-04T06:13:28.858Z    214835025   2617    1
因此,我对数据进行预处理,使它们逐列标准化,并将它们适合于SGDClassizer

from sklearn import linear_model
from sklearn import preprocessing as pp

scaler = pp.MinMaxScaler()
columns_list = list(train_data.columns)
del columns_list[-1]
train_data[columns_list] = scaler.fit_transform(train_data[columns_list])

clf = linear_model.SGDClassifier()
clf.fit(train_data.iloc[:, :-2],train_data.iloc[:,-1])
然后我想用模型进行预测,比如
clf.predict()
,但是原始测试集应该是以下格式

    Session ID  Timestamp               Item ID     Price   Quantity
0   420374  2014-04-06T18:44:58.314Z    214537888   12462   1
那么我是否也需要使它们与训练集正常化

模型需要什么样的测试数据


测试数据需要什么预处理?

我们将所有预处理应用于对列车数据执行时学习的测试数据。我们没有从测试数据中学到任何新东西

因此,在您的情况下,我们仅对我们从列车数据中学到的测试数据应用相同的标准化:-

test_data[columns_list] = scaler.transform(test_data[columns_list])

# Predict Quantity from model
y_pred = clf.predict(test_data.iloc[:, :-2])

# Actual values of Quantity
y_true = test_data.iloc[:,-1]

# Now use y_true and y_pred to calculate the metrics.

我们将所有的预处理应用于测试数据,这些数据是在对列车数据执行时学习到的。我们没有从测试数据中学到任何新东西

因此,在您的情况下,我们仅对我们从列车数据中学到的测试数据应用相同的标准化:-

test_data[columns_list] = scaler.transform(test_data[columns_list])

# Predict Quantity from model
y_pred = clf.predict(test_data.iloc[:, :-2])

# Actual values of Quantity
y_true = test_data.iloc[:,-1]

# Now use y_true and y_pred to calculate the metrics.

预处理模块还提供了一个实用程序类 实现Transformer API以计算平均值的StandardScaler 和训练集上的标准偏差,以便以后能够 在测试集上重新应用相同的转换

预处理模块还提供了实用类规范化器 它使用Transformer API实现相同的操作

因此,只需在测试集上重新应用相同的转换就可以了。

预处理模块还提供了一个实用程序类 实现Transformer API以计算平均值的StandardScaler 和训练集上的标准偏差,以便以后能够 在测试集上重新应用相同的转换

预处理模块还提供了实用类规范化器 它使用Transformer API实现相同的操作

因此,只要在测试集上重新应用相同的转换就可以了