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模型的保存