python--pickle序列化(持久化)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python--pickle序列化(持久化)相关的知识,希望对你有一定的参考价值。

  机器学习过程分为训练过程和预测过程。训练过程得到一个模型,预测过程得到预测结果。为了节省时间,最好能够在每次执行预测时,调用已经构造好的模型,而不是每次预测前都需要重新训练一次模型。

  以“决策树”为例,最好能够在每次执行分类时调用已经构造好的决策树。可以使用Python中的pickle模块序列化对象。序列化对象可以在磁盘上保存对象pickle.dump(),并在需要的时候读取出来pickle.load()。任何对象都可以执行序列化操作,字典对象也不例外!!!

代码:

 1 import pickle
 2 #将决策树模型inputTree(字典对象)存储在文件filename中
 3 def storeTree(inputTree,filename):
 4     fw=open(filename,w)
 5     pickle.dump(inputTree,fw)
 6     fw.close()
 7 #读取文件filename中的决策树
 8 def grabTree(filename):
 9     fr=open(filename)
10     return pickle.load(fr)

打开Dos客户端测试:

In [11]:用字典存储一颗决策树,myTree={‘no surfacing‘:{0:‘no‘,1:{‘flippers‘:{0:‘no‘,1:‘yes‘}}}}
技术分享

 

In [12]: 得到文件"classifierStorage.txt",打开文件看看序列化后的样子:

技术分享

 

In [13]: 读取“classifierStorage.txt”中的决策树

Out [13]: 输出“myTree”

 


以上是关于python--pickle序列化(持久化)的主要内容,如果未能解决你的问题,请参考以下文章

Python pickle模块:实现Python对象的持久化存储

python pickle模块

[转]python pickle模块

python pickle模块

Python pickle模块

Python:pickle模块学习