线性回归(4)——保存模型

1. Python内保存和读取模型——pickle

pickle是负责将Python对象序列化(Serialization)和反序列化(de-serialization)的模块。

可使用Pickle将对象转换为文件保存在硬盘里(pickle.dump),在需要的时候再读取并还原(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(modelPath, "wb"))
    return model

def loadModel(modelPath):
    """
    使用pickle读取已有的模型
    """
    model = pickle.load(open(modelPath, "rb"))
    return model

2. 跨语言保存和读取模型 ——PMML

  预测模型标记语言(PMML)是一款描述预测模型的标准,这个标准与搭建和读取模型的具体编程语言无关,它可以实现模型在不同语言间的保存和读取。

  PMML存储模型的核心思想是存储模型的框架、所用的变量以及模型里的参数,例如:

       y = ax + b

  那么需要保存的信息如下:

  2.1 使用模型为线性回归模型

  2.2 模型的因变量为y,自变量只有一个x

  2.3 模型参数a ,b的取值

  PMML的实现比较复杂,最常用的工具是JPMML(Java PMML API),可以在开源社区GitHub查找到该项目。

 

猜你喜欢

转载自www.cnblogs.com/Colleen-Blog/p/10320688.html
今日推荐