Scikit-learn中怎么部署模型

小億
103
2024-05-11 11:44:54
欄目: 編程語言

Scikit-learn中有幾種常見的部署模型的方法:

  1. 使用pickle模塊保存模型:可以使用pickle模塊將模型保存為二進(jìn)制文件,然后在部署時(shí)加載該文件并使用該模型進(jìn)行預(yù)測。
import pickle

# 訓(xùn)練模型
# 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)

# 在部署時(shí)使用模型進(jìn)行預(yù)測
# y_pred = model.predict(X_test)
  1. 使用joblib模塊保存模型:joblib模塊可以更有效地保存大型NumPy數(shù)組,因此在保存大型模型時(shí)可以考慮使用joblib模塊。
from joblib import dump, load

# 訓(xùn)練模型
# model.fit(X_train, y_train)

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

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

# 在部署時(shí)使用模型進(jìn)行預(yù)測
# y_pred = model.predict(X_test)
  1. 使用flask等Web框架部署模型:可以將訓(xùn)練好的模型封裝成一個(gè)API,使用flask等Web框架部署在服務(wù)器上,然后通過API進(jìn)行預(yù)測。
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部署模型的方法,選擇適合自己場景的方式進(jìn)行部署。

0