机p践:18 chijiuhua加载模型
发布日期:2021-06-29 18:48:44 浏览次数:2 分类:技术文章

本文共 1308 字,大约阅读时间需要 4 分钟。

文章目录

  • 实际中需将生成的模型序列化,
    • 并将其发布到生产环境。
  • 有新数据出现时,需要反序列化已保存的模型,
    • 用其预测新数据。
  • 如何序列化和反序列化scikit-learn的模型。
  • 模型序列化和重用的重要性。
  • 通过pickle来序列化和反序列化模型
  • 通过 joblib来序列化和反序列化模型。

18.1 pickle序列化和反序列化机器学习的模型

  • pickle是标准的 Python序列化方法,可通过它来序列化机器学习算法生成的模型,并将其保存到文件
  • 对新数据预测时,将保存在文件中的模型反序列化,并用其来预测新数据的结果。

18.2 joblib序列化和反序列化模型

  • Scipy生态环境的一部分,提供了通用的工具来序列化Python的对象和反序列化 Python的对象。
  • joblib序列化对象时会采用 Numpy的格式保存数据,这对某些保存数据到模型中的算法非常有效,如K近邻。
from pandas import read_csvfrom sklearn.model_selection import train_test_splitfrom sklearn.linear_model import LogisticRegressionfrom sklearn.tree import DecisionTreeClassifierfrom sklearn.externals.joblib import dumpfrom sklearn.externals.joblib import load#导入数据filename = "pima_data.csv"#names=['preg','plas','pres','skin','test','mass','pedi', 'age','class']#data = read_csv(filename, names=names)data = read_csv(filename)#并将数据分为输入数挥和输出结果array =data.valuesX = array[:,0: 8]Y = array[:,8]test_size = 0.33seed = 4X_train,X_test,Y_training,Y_test = train_test_split(X,Y,test_size=test_size,random_state=seed)model= LogisticRegression()model.fit(X_train,Y_training)model_file = 'finalized_model_joblib.sav'with open (model_file,'wb')as model_f:    dump(model, model_f)with open (model_file, 'rb')as model_f:    loaded_model =load(model_f)result = loaded_model.score(X_test, Y_test)print("算法评估结果:%.3f%%"%( result*100))

转载地址:https://cyj666.blog.csdn.net/article/details/106798182 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:perf系列
下一篇:linux源码的疑问

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月05日 03时46分33秒