Python进行机器学习的几种模型保存方式!
大家好,我是翔宇!今天我给大家分享机器学习模型的几种保存方式!
大家都知道,在我们做数据分析的时候,不仅需要掌握业务,对业务指标进行监控等,而且在有些时候我们需要掌握一些数据挖掘的方法来满足一些”特殊”的工作需要。这就经常用到机器学习的模型进行分类、回归等。那么,很多时候我们都是将重点放在模型的算法、效果上,很少有人在乎当我们训练出一个模型后,如果我们需要将其保存下来,以便任何需要的时候都可以拿出来使用。因此,今天我特意分享一下,在Python中,如果我们想要完成这样的一个需求,我们该怎样做!
机器学习模型的保存和加载
模型训练(下面保存方式基于此例,这里训练一棵决策树来预测boston房价)
0.1 导入Boston房价数据
from sklearn.datasets import load_boston
boston = load_boston()
0.2 划分数据
from sklearn.model_selection import train_test_split as TTS
xtrain,xtest,ytrain,ytest = TTS(boston.data,boston.target,test_size=0.3)
0.3 训练模型
from sklearn.tree import DecisionTreeRegressor
DT = DecisionTreeRegressor().fit(xtrain,ytrain)
DT.score(xtest,ytest)
out: 0.7601720678519819 (什么都没做的去情况下R方已经是0.76)
这里我们的一个简单的模型就已经训练好了,接下来就是保存它了.
1.使用pickle保存模型
import pickle
pickle.dump(DT,open("dtr.dat","wb"))
loaded_model = pickle.load(open("dtr.dat","rb"))
loaded_model.predict(xtest)
结果:
2.使用joblib保存模型
import joblib
joblib.dump(DT,'DT.dat')
loaded_model2 = joblib.load('DT.dat')
loaded_model2.predict(xtest)
结果:
在强学习器xgboost中我们训练好模型就可以直接进行保存!当然不了解的话,前面两种已经足够使用了,我这里大致写一下代码.供有兴趣的朋友阅读,当然,如果需要了解更多,请移步到翔宇公众号” Python和数据分析“
3.在xgboost中直接保存模型
xgboost.save_model('train.model')
loaded_model3 = xgb.Booster(model_file='train.model')
loeded_model3.predict(xtest)
好了,今天的内容就分享这里了,如果对你有帮助请点赞、分享加 关注,防止错过更多内容哦!
我是翔宇,公众号是” Python和数据分析“,我们明天见!
Original: https://blog.csdn.net/dchzxl/article/details/121259635
Author: Python和数据分析
Title: Python中机器学习模型的几种保存方式
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/613878/
转载文章受原作者版权保护。转载请注明原作者出处!