基于scikit-learn(sklearn)做分类--3.优化--保存模型

来源:互联网 发布:淘宝盗用别人3c认证 编辑:程序博客网 时间:2024/06/05 19:56

上一章主要是讲了分类的过程,这一章主要是讲一些优化问题

主要是对于训练的模型,要保存下结果,而不用重复的训练.


import split_jieba2

from sklearn.externals import joblib

def train():      

        tfidf_train_2 = tv.fit_transform(train_data);

//在训练中训练完tfidf,保存一下tfidf模型,生成tfidf_model.m文件,在test中直接load文件就OK。

        joblib.dump(tv,"tfidf_model.m")


        clf = MultinomialNB(alpha=0.01)

        clf.fit(tfidf_train_2,train_target)

//同样训练完MultinomialNB模型后,保存成clf_model.m文件。

        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 iin range(len(proba[0])):

                lk = str(i) +":"+str( proba[0][i]   )

                ls.append(lk)

        return ls

//最后返回各个类和对应的概率
0 0
原创粉丝点击