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

1 模型保存

见demo:

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

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

3 sklean增量学习

from sklearn.linear_model 
import SGDClassifier 
sgd_clf = SGDClassifier() # SGDClassifier的参数设置可以参考sklearn官网 minibatch_train_iterators = iter_minibatches(data_part_file, minibatch_size=2000) 
for i, (X_train, y_train) in enumerate(minibatch_train_iterators): 
    # 使用 partial_fit ,并在第一次调用 partial_fit 的时候指定 classes      
    sgd_clf.partial_fit(X_train, y_train, classes=np.array([0, 1])) print("{} time".format(i)) # 当前次数 print("{} score".format(sgd_clf.score(X_test, y_test))) # 在测试集上看效果

4 使用partial_fit实现两个数据集的模型更新

# 加载模型为old_model
clf = old_model.copy()
new_model = clf.partial_fit(x_new,y_new)

# 训练出新模型,but 需要清楚哪些模型有partial_fit。

5 sklearn中的coef_和intercept_

6 skearn中有partial_fit的有哪些模型

朴素贝叶斯的三个常用模型:高斯、多项式、伯努利

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

           使用sklearn进行增量学习

           sklearn中的coef_和intercept_

           朴素贝叶斯的三个常用模型:高斯、多项式、伯努利

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值