scikit-learn的基本用法(八)——保存与加载模型

文章作者:Tyan
博客:noahsnail.com  |  CSDN  |  简书

本文主要介绍scikit-learn中的模型的保存与加载。

  • Demo 1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import pickle
from sklearn.svm import SVC
from sklearn import datasets

# 定义分类器
svm = SVC()

# 加载iris数据集
iris = datasets.load_iris()
# 读取特征
X = iris.data
# 读取分类标签
y = iris.target

# 训练模型
svm.fit(X, y)

# 保存成python支持的文件格式pickle, 在当前目录下可以看到svm.pickle
with open('svm.pickle', 'wb') as fw:
pickle.dump(svm, fw)

# 加载svm.pickle
with open('svm.pickle', 'rb') as fr:
new_svm = pickle.load(fr)
print new_svm.predict(X[0:1])
  • 结果
1
[0]
  • Demo 2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from sklearn.externals import joblib
from sklearn.svm import SVC
from sklearn import datasets

# 定义分类器
svm = SVC()

# 加载iris数据集
iris = datasets.load_iris()
# 读取特征
X = iris.data
# 读取分类标签
y = iris.target

# 训练模型
svm.fit(X, y)

# 保存成sklearn自带的文件格式
joblib.dump(svm, 'svm.pkl')

# 加载svm.pkl
new_svm = joblib.load('svm.pkl')
print new_svm.predict(X[0:1])
  • 结果
1
[0]

参考资料

  1. https://www.youtube.com/user/MorvanZhou
如果有收获,可以请我喝杯咖啡!