如何在使用 Flask 部署模型时预处理新数据集

How to preprocess the new dataset while model deployement using flask

data = dataset.iloc[:,:-1].values
label = dataset.iloc[:,-1].values
from sklearn.preprocessing import LabelEncoder
labelencoder = LabelEncoder()

for i in range(0,5):
    data[:,i] = labelencoder.fit_transform(data[:,i]) 
data1=pd.DataFrame(data[:,:5])
for i in range(7,12):
    data[:,i]=labelencoder.fit_transform(data[:,i])
data2=pd.DataFrame(data[:,7:12])
from sklearn.preprocessing import Normalizer

#----Normalizing Uncategorical Data----#
data3=dataset.iloc[:,[5,6,12]]
dataset.iloc[:,:5]
normalized_data = Normalizer().fit_transform(data3)
data3=pd.DataFrame(normalized_data)

data_full=pd.concat([data1,data2,data3],axis=1)

label=labelencoder.fit_transform(label)
label=pd.DataFrame(label)

以上是我的预处理步骤...在通过 Web 应用程序部署模型后,我想对新输入数据执行相同的操作。 如何为此编写一个函数..? 我正在使用烧瓶开发 api

在预测基金...下写什么?在 app.py

@app.route('/predict' methods= 'POST' )
def predict():

在预处理数据时,您将不得不 pickle 所有正在使用的转换器。然后你将不得不加载相同的转换器并在预测期间使用它们。

创建一个新的变换器并将其拟合到不同的值上会给你奇怪的预测。

我为聚会创建了一个演示 Flask 项目。它具有您需要的所有代码。

部署:https://github.com/Ankur-singh/flask_demo/blob/master/final_ml_flask.py

培训:https://github.com/Ankur-singh/flask_demo/blob/master/iris.py