如何为 Python TextBlob 保留模型?
How to persist model for Python TextBlob?
如何在 TextBlob 中为下次更新保留模型结果?
可以在此处找到文档参考 https://github.com/sloria/TextBlob
我注意到文档指定了如何更新训练数据,但我没有看到保存上次会话数据的方法。
更新方式:
https://textblob.readthedocs.io/en/dev/classifiers.html#updating-classifiers-with-new-data
我特别指的是对文本进行分类。我确实觉得我在这个特定主题上很笨,因为我总是发现很难知道这些培训课程在任何 AI 示例中持续存在的位置。
你不想再运行整个事情对吧?你想从你停下来的地方开始,并不断迭代地改进它。
我想这样做:
- 如果过去的训练结果存在,将它们加载到模型中
- 更新或运行新的训练课程
- 保存训练
- 稍后根据需要重复
可以使用 pickling 和 unpickling 来持久化模型和训练。
>>> from textblob.classifiers import NaiveBayesClassifier
>>> train = [('love the weather','pos'),('love the world','pos'),('horrible place','neg')]
>>> cl = NaiveBayesClassifier(train)
>>> [cl.prob_classify("love food").prob('pos'),cl.prob_classify("love food").prob('neg')]
[0.8590880780051973, 0.14091192199480246]
>>> import cPickle
>>> save_training = open('/tmp/save_training.pickle','wb')
>>> cPickle.dump(cl,save_training) # SAVE TRAINED CLASSIFIER
>>> save_training.close()
>>>
>>> load_training = open('/tmp/save_training.pickle','rb')
>>> new_cl = cPickle.load(load_training) # LOAD TRAINED CLASSIFIER
>>> [new_cl.prob_classify("love food").prob('pos'),new_cl.prob_classify("love food").prob('neg')]
[0.8590880780051973, 0.14091192199480246]
如何在 TextBlob 中为下次更新保留模型结果?
可以在此处找到文档参考 https://github.com/sloria/TextBlob
我注意到文档指定了如何更新训练数据,但我没有看到保存上次会话数据的方法。
更新方式: https://textblob.readthedocs.io/en/dev/classifiers.html#updating-classifiers-with-new-data
我特别指的是对文本进行分类。我确实觉得我在这个特定主题上很笨,因为我总是发现很难知道这些培训课程在任何 AI 示例中持续存在的位置。
你不想再运行整个事情对吧?你想从你停下来的地方开始,并不断迭代地改进它。
我想这样做:
- 如果过去的训练结果存在,将它们加载到模型中
- 更新或运行新的训练课程
- 保存训练
- 稍后根据需要重复
可以使用 pickling 和 unpickling 来持久化模型和训练。
>>> from textblob.classifiers import NaiveBayesClassifier
>>> train = [('love the weather','pos'),('love the world','pos'),('horrible place','neg')]
>>> cl = NaiveBayesClassifier(train)
>>> [cl.prob_classify("love food").prob('pos'),cl.prob_classify("love food").prob('neg')]
[0.8590880780051973, 0.14091192199480246]
>>> import cPickle
>>> save_training = open('/tmp/save_training.pickle','wb')
>>> cPickle.dump(cl,save_training) # SAVE TRAINED CLASSIFIER
>>> save_training.close()
>>>
>>> load_training = open('/tmp/save_training.pickle','rb')
>>> new_cl = cPickle.load(load_training) # LOAD TRAINED CLASSIFIER
>>> [new_cl.prob_classify("love food").prob('pos'),new_cl.prob_classify("love food").prob('neg')]
[0.8590880780051973, 0.14091192199480246]