温馨提示×

Scikit-learn中怎么部署模型

小亿
86
2024-05-11 11:44:54
栏目: 编程语言

Scikit-learn中有几种常见的部署模型的方法:

  1. 使用pickle模块保存模型:可以使用pickle模块将模型保存为二进制文件,然后在部署时加载该文件并使用该模型进行预测。
import pickle

# 训练模型
# model.fit(X_train, y_train)

# 保存模型
with open('model.pkl', 'wb') as f:
    pickle.dump(model, f)

# 加载模型
with open('model.pkl', 'rb') as f:
    model = pickle.load(f)

# 在部署时使用模型进行预测
# y_pred = model.predict(X_test)
  1. 使用joblib模块保存模型:joblib模块可以更有效地保存大型NumPy数组,因此在保存大型模型时可以考虑使用joblib模块。
from joblib import dump, load

# 训练模型
# model.fit(X_train, y_train)

# 保存模型
dump(model, 'model.joblib')

# 加载模型
model = load('model.joblib')

# 在部署时使用模型进行预测
# y_pred = model.predict(X_test)
  1. 使用flask等Web框架部署模型:可以将训练好的模型封装成一个API,使用flask等Web框架部署在服务器上,然后通过API进行预测。
from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/predict', methods=['POST'])
def predict():
    data = request.get_json()
    X = data['X']
    y_pred = model.predict(X)
    return jsonify({'y_pred': y_pred.tolist()})

if __name__ == '__main__':
    app.run()

以上是几种常见的Scikit-learn部署模型的方法,选择适合自己场景的方式进行部署。

0