Sklearn 模型保存与加载
在机器学习项目中,训练好的模型需要保存以便后续部署或复用。Scikit-learn提供了多种方法实现模型的持久化,以下是常用的技术方案和代码示例。
使用 joblib 保存与加载模型
joblib 是Scikit-learn推荐的库,尤其适合包含大量NumPy数组的模型(如随机森林、神经网络等)。其优势在于高性能的序列化。
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
from joblib import dump, load
# 训练一个示例模型
data = load_iris()
X, y = data.data, data.target
model = RandomForestClassifier()
model.fit(X, y)
# 保存模型到文件
dump(model, 'random_forest.joblib')
# 加载模型
loaded_model = load('random_forest.joblib')
print(loaded_model.predict([[5.1, 3.5, 1.4, 0.2]])) # 输出: [0]
使用 pickle 保存与加载模型
Python内置的pickle模块也可用于模型序列化,但效率通常低于joblib。
import pickle
from sklearn.svm import SVC
# 训练模型
model = SVC()
model.fit(X, y)
# 保存模型
with open('svc_model.pkl', 'wb') as f:
pickle.dump(

最低0.47元/天 解锁文章
954

被折叠的 条评论
为什么被折叠?



