# 标准化数据模块from sklearn import preprocessingimport numpy as np# 将资料分割成train与test的模块from sklearn.model_selection import train_test_split# 生成适合做classification资料的模块from sklearn.datasets.samples_generator import make_classification# Support Vector Machine中的Support Vector Classifierfrom sklearn.svm import SVC# 可视化数据的模块import matplotlib.pyplot as plt
使用 pickle 保存
首先简单建立与训练一个SVCModel。
from sklearn import svmfrom sklearn import datasetsclf = svm.SVC()iris = datasets.load_iris()X, y = iris.data, iris.targetclf.fit(X,y)
使用pickle来保存与读取训练好的Model。
import pickle #pickle模块#保存Model(注:save文件夹要预先建立,否则会报错)with open('save/clf.pickle', 'wb') as f:pickle.dump(clf, f)#读取Modelwith open('save/clf.pickle', 'rb') as f:clf2 = pickle.load(f)#测试读取后的Modelprint(clf2.predict(X[0:1]))# [0]
使用 joblib 保存
joblib是sklearn的外部模块。
from sklearn.externals import joblib #jbolib模块#保存Model(注:save文件夹要预先建立,否则会报错)joblib.dump(clf, 'save/clf.pkl')#读取Modelclf3 = joblib.load('save/clf.pkl')#测试读取后的Modelprint(clf3.predict(X[0:1]))# [0]
最后可以知道joblib在使用上比较容易,读取速度也相对pickle快。
