Python学习笔记:保存sklearn模型的model文件

一、背景

使用 Python 的机器学习模块 sklearn 进行模型训练时,如果训练集保持不变,可将模型训练的模型结果保存为 .model 文件,以供预测时使用,避免每次运行时都要重新训练模型。

joblib 可实现保存模型,并将保存的模型取出用于预测。

二、实操

# 导入模块
import lightgbm as lgb # LGB算法
from sklearn.externals import joblib

# 模型训练
model_lgb = lgb.LGBMClassifier(boosting_type='gbdt', # gbdt 梯度提升决策树
                               metric = 'auc',
                               n_estimators = 180,
                               learning_rate = 0.05, 
                               is_unbalance = 'true',
                               objective = 'binary',  # 任务分类、回归
                               random_state = 1,                               
                               min_child_samples = 110,
                               min_child_weight = 5,
                               num_leaves = 50)
model_lgb.fit(x_train, y_train)

# 保存模型
joblib.dump(model_lgb, r'E:\model.pkl')

# 加载模型
model_lgb = joblib.load(r'E:\model.pkl')

# 应用模型进行预测
predict = model_lgb.predict_proba(product)

三、注意

执行 joblib.dump() 保存模型后,可能还会生成若干个以 lgb.model_xx.npy 为命名格式的文件,这可能是用于保存模型中的系数等的二进制文件。

其具体生成的文件个数还会随着调用的分类器的不同,以及分类器中迭代次数的参数的不同而变,有时候会生成几个,有时候会生成几百个。

需要注意。

参考链接:python sklearn模型的保存

posted @ 2021-05-05 16:05  Hider1214  阅读(4228)  评论(0编辑  收藏  举报