python利用joblib保存训练模型

本文介绍如何利用Joblib库在Python中保存和加载机器学习模型,特别是决策树分类器。通过实例演示了模型保存的过程及后续的加载使用,便于模型的持久化存储与再利用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在机器学习中我们训练模型后,需要把模型保存到本地,这里我们采用joblib来保存

from sklearn.externals import joblib
 
#保存训练模型
def Save_Model(self, model, filepath):
    joblib.dump(model, filename=filepath)
 
def Decision_Tree_classifier(self,x_train,y_train,max_depth=None,min_samples_split=2,min_samples_leaf=1):
    Decision_Tree=tree.DecisionTreeClassifier(max_depth=max_depth,min_samples_split=min_samples_split,min_samples_leaf=min_samples_leaf)
    Decision_Tree.fit(x_train,y_train)
    self.save_model(Decision_Tree,os.path.join(c_config.UPLOAD_FOLODER,'model','Decision_Tree.m'))
    return Decision_Tree


然后再通过 joblib.load 把模型加载回来

def Load_Model(self, filepath):
    model = joblib.load(filepath)
    return model


 
 

### 如何使用 `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、付费专栏及课程。

余额充值