【问题标题】:Performance of ML model after StandardScaler transform on TEST data对 TEST 数据进行 StandardScaler 转换后 ML 模型的性能
【发布时间】:2020-06-05 02:25:07
【问题描述】:

概述:我是 ML 和学习 sklearn 预处理的新手。我发现当我们对 TEST 数据使用 sklearn 预处理转换时,mean 不会为 0,std 不会为 1(原因是我们使用 TRAIN 数据 mean/std 来标准化测试数据)。

我的问题:如果测试数据以这种方式标准化(未正确标准化为均值为 0 和标准为 1 的高斯正态分布),那么这会影响 ML 算法的预测吗?我的理解是 ML 预测的准确度会很低,因为我们给 ML 模型提供了不正确的标准化数据。

Code screenshot for mean and std

【问题讨论】:

    标签: python machine-learning scikit-learn machine-learning-model


    【解决方案1】:

    这应该告诉您的是,您的训练集和测试集可能具有不同的分布。如果您的训练集不能代表全球人口(此处由 TEST 数据表示),那么该模型的泛化能力就不会那么好。

    如果您的测试数据不是以 1 标准零为中心,那完全可以。这种转换的目的是获取相同范围内的所有数据,否则许多算法会错误地(相对于用户意图)更新模型。通过应用此转换,您可以说“所有功能都同等重要”。

    没有像“不正确的标准化数据”(您描述的方式)这样的东西,只有训练数据不具有代表性。

    【讨论】:

      猜你喜欢
      • 2021-06-04
      • 2019-05-24
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      • 2018-01-03
      • 2019-05-26
      • 2019-10-23
      • 2013-03-05
      相关资源
      最近更新 更多