sklearn保存模型
时间: 2023-09-02 13:11:57 浏览: 54
在 scikit-learn 中,你可以使用 `joblib` 或 `pickle` 保存模型。
1. 使用 `joblib` 保存模型
`joblib` 是 Python 的一个库,可以高效地将 Python 对象序列化为磁盘上的文件。它是 scikit-learn 推荐使用的模型保存方式。
```python
from sklearn import svm
from sklearn import datasets
import joblib
# 加载数据
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 训练模型
clf = svm.SVC()
clf.fit(X, y)
# 保存模型
joblib.dump(clf, 'model.pkl')
```
2. 使用 `pickle` 保存模型
`pickle` 是 Python 标准库中的一个模块,可以将 Python 对象序列化为字节流,也可以将字节流反序列化为 Python 对象。你可以使用 `pickle` 来保存和加载 scikit-learn 模型。
```python
import pickle
# 加载数据
iris = datasets.load_iris()
X = iris.data
y = iris.target
# 训练模型
clf = svm.SVC()
clf.fit(X, y)
# 保存模型
with open('model.pkl', 'wb') as file:
pickle.dump(clf, file)
```
以上两种方式都可以将模型保存在磁盘上,以便后续使用。使用时,你可以使用以下代码来加载保存的模型。
```python
import joblib
# 加载模型
clf = joblib.load('model.pkl')
```
或者
```python
import pickle
# 加载模型
with open('model.pkl', 'rb') as file:
clf = pickle.load(file)
```
注意:在加载模型之前,确保你的代码中已经导入了 `sklearn`,并且模型中使用的算法在 `sklearn` 中可用。