模型依据数据的变化是一个不断循环、不断更新的过程,在Python中搭建模型,且读取模型的程序也在Python内部,可以用内置库pickle完成。pickle是负责将Python对象序列化和反序列化的模块,使用pickle.dump函数将训练好的模型保存到磁盘上(具体路径为“modelPath”),当需要使用模型时,可以通过pickle.load函数读取保存在磁盘上的模型。
代码如下:
import pickle
from sklearn import linear_model
def trainAndSaveModel(data,modelPath):
"""
使用pickle保存训练好的模型
"""
model = linear_model.LinearRegression()
model.fit(data[["x"]],data[["y"]])
pickle.dump(model,open("H:\Python","wb"))
return model
def loadModel(modelPath):
"""
使用pickle读取已有的模型
"""
model = pickle.load(open("H:\Python","rb"))
return model
如果读取的模型需要用到其他语言,比如Java,则需要用到预测模型标记语言(PMML),使用它可以实现不同语言间的保存和读取。