【问题标题】:After training set are normalized what should test set do训练集归一化后,测试集应该做什么
【发布时间】:2018-02-01 20:44:50
【问题描述】:

训练集头部是这样的

    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

所以我对数据进行预处理,将它们逐列归一化并适合 SGDClassifier。

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

那我还需要用训练集让它们标准化吗?

模型期望什么测试数据?

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

【问题讨论】:

    标签: python scikit-learn dataset data-science


    【解决方案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.
    

    【讨论】:

      【解决方案2】:

      As sklearn doc provide

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

      Talk about the Normalizer

      预处理模块还提供了一个实用类Normalizer 使用 Transformer API 实现相同的操作

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

      【讨论】:

        猜你喜欢
        • 2018-06-03
        • 2020-07-30
        • 2018-02-25
        • 2019-03-02
        • 2020-05-13
        • 2015-04-10
        • 2019-05-12
        • 2017-12-12
        • 2019-12-09
        相关资源
        最近更新 更多