机器学习—保存模型、加载模型—Joblib

Joblib描述

Joblib是一组用于在Python中提供轻量级流水线的工具
特点:
·透明的磁盘缓存功能和懒惰的重新评估(memoize模式)
·简单的并行计算

Joblib可以将模型保存到磁盘并可在必要时重新运行:

代码实现

#加载模块
from sklearn.datasets import load_iris
import joblib
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
#分割数据集
data = load_iris()
X = data.data
y = data.target
train_X,test_X,train_y,test_y = train_test_split(X,y,test_size=0.3,random_state=2)

#训练模型
lr = LinearRegression()
lr.fit(train_X,train_y)

#将训练的模型保存到磁盘(value=模型名)   默认当前文件夹下
joblib.dump(filename='LR.model',value=lr)

# 下载本地模型
model1 = joblib.load(filename="LR.model")

#对本地模型进行预测
print(model1.predict(test_X))
print(model1.score(test_X,test_y))

# 重新设置模型参数并训练
model1.set_params(normalize=True).fit(train_X,train_y)

#新模型做预测
print(model1.predict(test_X))
print(model1.score(test_X,test_y))

结果展示

### 如何使用 `joblib` 保存加载 scikit-learn 机器学习模型 为了实现模型的持久化存储,可以利用 `joblib` 库来高效处理大尺寸的数据结构,特别是针对 NumPy 数组的情况。对于 scikit-learn 的模型而言,由于其内部大量运用了 NumPy 数据类型,因此采用 `joblib` 是一种理想的选择。 #### 示例代码展示 下面给出一段完整的 Python 代码片段,演示如何创建一个简单的分类器并对其进行保存与读取操作: ```python from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split from sklearn.svm import SVC import joblib # 导入用于序列化的工具包 # 准备数据集 data = load_iris() X_train, X_test, y_train, y_test = train_test_split(data.data, data.target, test_size=0.2) # 构建支持向量机模型实例 clf = SVC(gamma='auto') clf.fit(X_train, y_train) # 训练模型 # 将训练好的模型保存至指定路径下的 .pkl 文件中 joblib.dump(clf, 'model/svc_model.pkl') # 加载保存模型文件 loaded_clf = joblib.load('model/svc_model.pkl') # 利用加载后的模型执行预测任务 predictions = loaded_clf.predict(X_test) print(predictions[:5]) # 输出前五个预测结果验证正确性 ``` 通过上述过程可以看出,在完成模型训练之后,只需调用一次 `joblib.dump()` 方法即可轻松地把整个模型对象写入磁盘;而当需要再次应用该模型时,则可通过 `joblib.load()` 来快速恢复之前的状态[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值