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

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

  • Demo 1
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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 结果
[0]
 
  • 1
  • Demo 2
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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 结果
[0]



转载自:http://blog.csdn.net/quincuntial/article/details/71244324

参考:

http://scikit-learn.org/stable/modules/model_persistence.html

https://docs.python.org/2/library/pickle.html#

http://sklearn.lzjqsdd.com/tutorial/basic/tutorial.html#model-persistence

posted @ 2017-12-23 11:23  banlucainiao  阅读(112)  评论(0)    收藏  举报