基于scikit-learn(sklearn)保存和加载模型

在真实开发环境中我们需要将训练好的模型保存起来,下次直接加载保存好的模型进行使用,而不用重复的训练.

import split_jieba2
from sklearn.externals import joblib

def train():
        // 保存训练好的模型,生成tfidf_model.m文件,在test中直接load文件就OK。
        tfidf_train_2 = tv.fit_transform(train_data);
        joblib.dump(tv,"tfidf_model.m")

        // 保存训练好的模型,生成clf_model.m文件
        clf = MultinomialNB(alpha=0.01)
        clf.fit(tfidf_train_2,train_target)
        joblib.dump(clf,"clf_model.m")

// 上面训练完模型后,后面就可以直接load文件进行测试了。
def test(line):
        test_data = []
        content = split_jieba2.split_jieba(line)
        test_data.append(content.strip())

//加载模型
        tv = joblib.load("tfidf_model.m")
        tfidf_test_2 = tv.transform(test_data);

        clf = joblib.load("clf_model.m")
       ls = []
        proba=clf.predict_proba(tfidf_test_2)
        for i in range(len(proba[0])):
                lk = str(i) +":"+str( proba[0][i]   )
                ls.append(lk)
        return ls
    原文作者:清风飞扬666666
    原文地址: https://www.jianshu.com/p/162299bf18a3
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞