欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

机器学习入门研究(十五)-模型保存与加载

程序员文章站 2022-03-06 21:21:22
...

目录

1.模型的保存和加载

2.实例


之前我们在使用模型进行预测的时候,都是需要重新训练,那经过一段时间模型训练的准确率已经可以达到一定的标准,那么我们可以通过保存模型和加载模型的方式来完成预测,不需要每次都去训练模型。

1.模型的保存和加载

在sklearn中提供了API来实现该功能。

(1)模型保存

#4)直接将模型保存
sklearn.externals.joblib.dump(value, filename, compress=0, protocol=None, cache_size=None)

其中参数如下表:

字段 含义
value 已经训练好的预估器
filename 要保存模型的名字,如果不采用压缩,直接以.pkl结尾,要是使用压缩的话,下面这些扩展名的压缩 (‘.z’, ‘.gz’, ‘.bz2’, ‘.xz’ or ‘.lzma’) 会自动调用压缩方法。
compress

压缩级别。取值可以是整形0到9、bool型、二元元组

或者布尔型或者一个二元元组,可选.表示压缩级别。

0或者False表示不压缩,越高的值表示越高的压缩力度,同时意味着更加慢的读取和写入。通常3是一个比较好的压缩值。
bool值True,使用压缩,并且默认压缩级别是3。
二元元组:

第一个元素必须是与相应压缩方式表示的字符串,:‘zlib’, ‘gzip’, ‘bz2’, ‘lzma’ ‘xz’;

第二个就是一个0到9的整形,表示压缩级别。

protocol 正整数。pickle协议
cache_size 正整数,已废弃

 

 (2) 模型加载

#4)直接加载模型即可
sklearn.externals.joblib.load(filename, mmap_mode=None)
字段 含义
filename 保存的模型的名字包括路径
mmap_mode None, 'r+', 'r', 'w+', 'c'

2.实例

机器学习入门研究(十二)-线性回归提到的可以通过正规方程求解的方式来预测波士顿的房价,当我们把模型训练好了之后,就可以将该模型保存下来了,通过调用API将模型保存在当前目录下,保存完之后,就可以在当前目录下看到生成一个linear.pkl的文件

#4)预估器
estimator = LinearRegression()
estimator.fit(x_train, y_train)
#4)直接将模型保存
joblib.dump(estimator,"linear.pkl")

当在使用该模型的时候,不需要训练,直接加载模型即可。

#4)预估器
#estimator = LinearRegression()
#estimator.fit(x_train, y_train)
#4)直接将模型保存
#joblib.dump(estimator,"linear.pkl")

#4)直接加载模型即可
estimator = joblib.load("linear.pkl")

我们通过该模型训练出来的得出的误差值仍为

正规方程的误差值: 20.627513763095408