特征工程,同时使用经过训练的 ML 模型作为服务进行预测
feature engineering while making predictions using a trained ML model as a service
我正在尝试构建一个 flask 服务来预测回归问题。我有构建大约有 20 列的模型所需的数据。使用这些数据,我建立了一个很好的回归模型。但是在数据上训练模型,我做了很多特征工程,例如 log box cox 转换、one-hot 编码、由于高多重共线性而删除几列等,现在特征数量为 35。我在这 35 个特征上训练了模型,检查了性能并使用 pickle
保存了模型。我在烧瓶服务中加载了我的腌制模型。但是现在模型的输入采用我的原始数据的格式,只有 20 列。
那么,如何对新的输入集进行所有特征工程?我只能保存训练好的模型,但是在传递我的新数据进行预测之前我如何进行所有特征工程。
特征工程工作一旦成功(经过多次实验),应转化为输入处理代码(ML 管道的一部分)。这段代码,也许经过一些重构,应该在输入到训练模型之前作为输入处理代码结束。
这通常由可插拔架构支持(例如 TensorFlow 中的 Pipeline
in sklearn or tf.data
组 类)。
我正在尝试构建一个 flask 服务来预测回归问题。我有构建大约有 20 列的模型所需的数据。使用这些数据,我建立了一个很好的回归模型。但是在数据上训练模型,我做了很多特征工程,例如 log box cox 转换、one-hot 编码、由于高多重共线性而删除几列等,现在特征数量为 35。我在这 35 个特征上训练了模型,检查了性能并使用 pickle
保存了模型。我在烧瓶服务中加载了我的腌制模型。但是现在模型的输入采用我的原始数据的格式,只有 20 列。
那么,如何对新的输入集进行所有特征工程?我只能保存训练好的模型,但是在传递我的新数据进行预测之前我如何进行所有特征工程。
特征工程工作一旦成功(经过多次实验),应转化为输入处理代码(ML 管道的一部分)。这段代码,也许经过一些重构,应该在输入到训练模型之前作为输入处理代码结束。
这通常由可插拔架构支持(例如 TensorFlow 中的 Pipeline
in sklearn or tf.data
组 类)。