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

目录

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

猜你喜欢

转载自blog.csdn.net/nihaomabmt/article/details/104355052
今日推荐