sklearn 保存模型的几种方法

#coding=utf-8
'''
Created on 2018-3-28

'''

from sklearn import svm
from sklearn import datasets
import pickle
from sklearn.externals import joblib
clf = svm.SVC()
iris = datasets.load_iris()
X, y = iris.data, iris.target
clf.fit(X, y)


#方法一,使用dumps和loads,但没有存入磁盘
# s = pickle.dumps(clf)
# clf2 = pickle.loads(s)
# print clf2.predict(X[0:1])

# 第二种方法
# dump和load 函数能一个接着一个地将几个对象转储到同一个文件。随后调用 load() 来以同样的顺序检索这些对象
# output = open('D:\\xxx\\data.pkl', 'wb')
# input = open('D:\\xxx\\data.pkl', 'rb')
# s = pickle.dump(clf, output)
# output.close()
# clf2 = pickle.load(input)
# input.close()
# print clf2.predict(X[0:1])

# 第三种方法
# 使用joblib替换pickle,这对大数据更有效,但只能持久化到磁盘
# joblib.dump(clf, 'D:\\xxx\\data.pkl')#也可以使用文件对象
# clf = joblib.load('D:\\xxx\\data.pkl') 
### 回答1: 您好,保存sklearn模型方法有多种,其中比较常用的是使用joblib库中的dump函数进行保存,代码示例如下: ```python from sklearn.externals import joblib # 假设模型对象为model joblib.dump(model, 'model.pkl') ``` 这样就可以将模型保存在当前目录下的model.pkl文件中。当需要使用模型时,可以使用load函数进行加载,代码示例如下: ```python model = joblib.load('model.pkl') ``` 希望能对您有所帮助。 ### 回答2: 在scikit-learn中,有几种方法可以保存训练好的模型,以便在未来使用。以下是几种常见的保存模型方法: 1. 使用pickle模块:pickle是Python中用于序列化和反序列化对象的标准库。使用pickle可以方便地将训练好的模型保存为二进制文件,并在需要时加载回来。可以使用pickle的dump函数将模型保存到文件中,例如: ```python import pickle # 假设模型为clf with open('model.pickle', 'wb') as f: pickle.dump(clf, f) ``` 加载模型时可以使用pickle的load函数,例如: ```python import pickle with open('model.pickle', 'rb') as f: clf = pickle.load(f) ``` 2. 使用joblib模块:joblib是scikit-learn提供的模型保存工具,它支持更高效的序列化。可以使用joblib的dump函数将模型保存到文件中,例如: ```python from joblib import dump # 假设模型为clf dump(clf, 'model.joblib') ``` 加载模型时可以使用joblib的load函数,例如: ```python from joblib import load clf = load('model.joblib') ``` 这两种方法都可以将模型保存为二进制文件,以便来进行后续的加载和使用。在加载模型时,需要确保使用的是与保存模型时相同的库和版本,以避免出现不兼容的问题。 ### 回答3: 保存skleanr模型方法有多种,以下是常用的几种: 1. 使用pickle模块保存模型: 使用pickle模块可以将sklearn模型保存为二进制文件,然后再通过pickle模块加载模型。具体代码如下: ``` import pickle # 保存模型 with open('model.pkl', 'wb') as f: pickle.dump(model, f) # 加载模型 with open('model.pkl', 'rb') as f: model = pickle.load(f) ``` 2. 使用joblib模块保存模型: joblib模块是sklearn自带的模型保存工具,可以更高效地处理大型模型和大量数据。具体代码如下: ``` from sklearn.externals import joblib # 保存模型 joblib.dump(model, 'model.joblib') # 加载模型 model = joblib.load('model.joblib') ``` 3. 使用sklearn模型自身的保存方法sklearn中的一些模型自带了保存和加载模型方法,例如RandomForestRegressor模型的save和load方法。具体代码如下: ``` # 保存模型 model.save('model.pkl') # 加载模型 model = RandomForestRegressor.load('model.pkl') ``` 总结来说,使用pickle和joblib模块是最常用的保存sklearn模型方法。而对于特定的sklearn模型,可以看一下其是否自带了保存和加载模型方法。无论哪种方法,都可以方便地将已经训练好的模型保存下来,方便后续的使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值