Machine learning 当您只有一个测试实例时,如何处理机器学习模型部署中的特征缩放情况?

Machine learning 当您只有一个测试实例时,如何处理机器学习模型部署中的特征缩放情况?,machine-learning,neural-network,scaling,Machine Learning,Neural Network,Scaling,我正在为分类问题开发一个神经网络模型。功能的数量大约为1500个,所有这些功能的范围都非常不同。我使用特征归一化对模型进行了训练,得到了更好的结果。现在,当我要部署我的模型时,用户将只使用一个测试示例测试我的模型。我想知道,我的网络内部培训/测试是标准化的,但用户测试是一个单一的测试示例,不能标准化,因为它不是一组示例,而只是一个实例。我的模型将如何处理这种情况 始终使用与训练数据标准化相同的值标准化测试样本 这样你就不会有问题了 您不应该单独规范化测试数据,因为模型的执行方式不同 示例:计算训

我正在为分类问题开发一个神经网络模型。功能的数量大约为1500个,所有这些功能的范围都非常不同。我使用特征归一化对模型进行了训练,得到了更好的结果。现在,当我要部署我的模型时,用户将只使用一个测试示例测试我的模型。我想知道,我的网络内部培训/测试是标准化的,但用户测试是一个单一的测试示例,不能标准化,因为它不是一组示例,而只是一个实例。我的模型将如何处理这种情况

始终使用与训练数据标准化相同的值标准化测试样本

这样你就不会有问题了

您不应该单独规范化测试数据,因为模型的执行方式不同

示例:计算训练集的平均值和标准偏差。您将使用这些值来规范化训练集。现在只需在测试样本上使用相同的平均值和标准偏差


这应该可以解决问题。

我同意Janu的观点。我想,覆盖predict或在模型上编写包装器也是值得的,这样您就不必担心这个问题。我要做的是编写一个(接口)方法,用户测试人员可以调用该方法来使用经过训练的模型进行预测。在predict中,我将转换类似于训练数据的数据,然后进行预测。在python中,我们可以使用sklearn预处理模块中的StandardScaler。下面是伪代码

def predict(testinstance):
    scaler = StandardScaler()
    scaler.fit(traningData)
    testingData= scaler.transform(testinstance)
    return model.predict(testingData)
这样,您就不必跟踪与统计相关的其他变量