在训练模型时,我们将数据集拆分为训练集和测试集。如果需要对任何列进行标准化/标准化,则此过程将分别针对训练集和测试集进行,以防止数据泄漏。测试集的归一化是在训练集的参数上完成的。我们通常编写的代码如下所示 -
scaler = StandardScaler() #scaler = MinMaxScaler()
train = scaler.fit_transform(train)
test = scaler.transform(test)
该fit部分计算出参数,然后transform部分进行归一化。
现在我的问题是 - 当模型部署在生产中时,来自现实生活数据的列也需要规范化。我们如何做到这一点?我们是将其存储在scaler某处(可能是泡菜)还是将参数scaler(如最小值、最大值、平均值、标准偏差等)存储在某处(例如文件、表),然后读取存储的文件或表以检索参数值并在调用predict函数之前对新的现实生活数据进行规范化。