完成公司门户网站建设,如何查询营业执照注册信息,工程造价信息网南京,一键制作图片✅ 今日目标
掌握如何将训练好的模型持久化保存到文件熟悉两种主流保存方式#xff1a;joblib 和 pickle加载模型并应用于新数据预测实现完整的“训练 → 保存 → 加载 → 预测”流程为后续部署做准备#xff08;如 Flask、FastAPI#xff09;#x1f9f0; 一、模型保存工具…✅ 今日目标
掌握如何将训练好的模型持久化保存到文件熟悉两种主流保存方式joblib 和 pickle加载模型并应用于新数据预测实现完整的“训练 → 保存 → 加载 → 预测”流程为后续部署做准备如 Flask、FastAPI一、模型保存工具对比工具特点推荐场景picklePython 原生序列化工具支持任意对象通用保存joblib专为 NumPy / sklearn 设计速度快大模型保存二、基本用法示例
✅ 使用 joblib
from joblib import dump, load# 保存模型
dump(model, model.joblib)# 加载模型
model load(model.joblib)✅ 使用 pickle
import pickle# 保存
with open(model.pkl, wb) as f:pickle.dump(model, f)# 加载
with open(model.pkl, rb) as f:model pickle.load(f)三、完整流程练习建议
使用 SVC 训练一个模型可复用之前数据使用 joblib 保存模型清空变量重新加载模型对测试集进行预测验证效果是否一致可封装为 model_utils.py 工具模块今日总结学会了什么用来干嘛joblib.dump/load()快速保存/加载模型pickle.dump/load()更通用但稍慢模型持久化流程为部署和复用做准备练习脚本save_load_model_demo.py
# SVM 模型保存与加载演示使用 joblibimport numpy as np
from sklearn.svm import SVC
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from joblib import dump, load# 构造数据
np.random.seed(42)
size 100
scores np.random.randint(40, 100, size)
genders np.random.choice([0, 1], sizesize)
labels (scores 60).astype(int)X np.column_stack(((scores - scores.mean()) / scores.std(), genders))
y labelsX_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2, random_state42)# 训练模型
model SVC(kernelrbf, C1.0, gammascale)
model.fit(X_train, y_train)# 保存模型
dump(model, svm_model.joblib)
print(模型已保存为 svm_model.joblib)# 加载模型
loaded_model load(svm_model.joblib)
print(模型已加载成功)# 预测与评估
y_pred loaded_model.predict(X_test)
print(测试集准确率, accuracy_score(y_test, y_pred))运行输出
模型已保存为 svm_model.joblib
模型已加载成功
测试集准确率 1.0