sklearn模型保存
时间: 2023-05-27 17:01:03 浏览: 101
sklearn-onnx:将scikit学习模型和管道转换为ONNX
在scikit-learn中,我们可以使用`joblib`和`pickle`两个库来保存和加载模型。
## 使用joblib保存模型
`joblib`支持numpy数组和大型模型的高效处理,所以通常会比`pickle`更快一些。
```python
from sklearn import svm
from sklearn import datasets
import joblib
# 加载数据
iris = datasets.load_iris()
X, y = iris.data, iris.target
# 训练模型
clf = svm.SVC(kernel='linear', C=1).fit(X, y)
# 保存模型
joblib.dump(clf, 'model.pkl')
```
## 使用pickle保存模型
如果要保存一个比较简单的模型,或者不能使用numpy数组,则可以考虑使用`pickle`。
```python
from sklearn.linear_model import LogisticRegression
import pickle
# 训练模型
X = [[0, 0], [1, 1]]
y = [0, 1]
clf = LogisticRegression(random_state=0).fit(X, y)
# 保存模型
with open('model.pkl', 'wb') as f:
pickle.dump(clf, f)
```
## 加载模型
```python
# 加载模型
clf = joblib.load('model.pkl')
# 或者
with open('model.pkl', 'rb') as f:
clf = pickle.load(f)
# 使用模型进行预测
print(clf.predict(X))
```
阅读全文