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为命名格式的文件,这有可能是用于保存模型中的系数等的二进制文件。其具体生成的文件的个数还会随调用到的分类器的不同,以及分类器中迭代次数的参数的不同而变,有时候会生成几个,有时候会生成几百个。