当您只有一个测试实例时,如何处理机器学习模型部署中的功能扩展情况?

问题描述 投票:1回答:2

我正在开发一个用于分类问题的神经网络模型。特征的数量大约为1500,并且所有这些特征具有非常不同的范围。我使用特征规范化训练模型并获得更好的结果。现在,当我要部署我的模型时,用户将仅使用一个测试示例来测试我的模型。我想知道我的房屋列车/测试中的网络是标准化的,但是用户测试是一个单独的测试示例,并且它不能被标准化,因为它不是一组示例而只是一个实例。我的模型将如何处理这种情况?

machine-learning neural-network scaling
2个回答
1
投票

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

所以你不会有问题。

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

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

这应该可以解决问题。


1
投票

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

def predict(testinstance):
    scaler = StandardScaler()
    scaler.fit(traningData)
    testingData= scaler.transform(testinstance)
    return model.predict(testingData)

这样您就不必跟踪与统计相关的其他变量。

© www.soinside.com 2019 - 2024. All rights reserved.