您的位置:首页 > 其它

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

2016-04-27 17:25 471 查看
上一章主要是讲了分类的过程,这一章主要是讲一些优化问题

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

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 i
in range(len(proba[0])):
                lk = str(i) +":"+str( proba[0][i]   )
                ls.append(lk)
        return ls
//最后返回各个类和对应的概率
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  分类