用sklearn 保存和加载模型的两种方法

使用pickle模块或者sklearn内部的joblib

#####方法一####
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])


####方法二####

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])

转载于此

你可能感兴趣的:(python)