python sklearn模型的保存

    使用python的机器学习包sklearn的时候,如果训练集是固定的,我们往往想要将一次训练的模型结果保存起来,以便下一次使用,这样能够避免每次运行时都要重新训练模型时的麻烦。

    在python里面,有一个joblib可以实现将模型保存,并将保存后的模型取出用于不同的测试集:

 1 from sklearn import svm
 2 from sklearn.externals import joblib
 3 
 4 #训练模型
 5 clf = svc = svm.SVC(kernel='linear')
 6 rf=clf.fit(array(trainMat), array(listClasses))
 7 
 8 #保存模型
 9 joblib.dump(rf,'rf.model')
10 
11 #加载模型
12 RF=joblib.load('rf.model')
13 
14 #应用模型进行预测
15 result=RF.predict(thsDoc)

    需要注意的是,这里执行joblib.dump()之后,有可能还会生成若干个以rf.model_XX.npy为命名格式的文件,这有可能是用于保存模型中的系数等的二进制文件。其具体生成的文件的个数还会随调用到的分类器的不同,以及分类器中迭代次数的参数的不同而变,有时候会生成几个,有时候会生成几百个。

posted @ 2015-08-26 20:48  Iris ^  阅读(20964)  评论(0编辑  收藏  举报